0

我想使用信号列表过滤 MF4 文件并将它们导入 CANoe。对于过滤,我使用以下 asammdf 代码:

from asammdf import MDF 
import re

channels_to_keep=[]
filter = open(signallist.lab,'r')
inputMF4 = bigData.MF4
mdf = MDF(inputMF4)
all_channels = mdf.channels_db
for row in filter:
    row = re.sub('\n', '', zeile)
    if row in all_channels:
        channels_to_keep.append(zeile)
    
new_mdf = list(filter(None, channels_to_keep))
mdf.filter(new_mdf).save(dst='smallData.MF4')

我无法在 CANoe 中导入新文件(也许他丢失了元数据?)但是我可以在 CANape 中打开文件并查看所有频道。

如果我只是使用以下方法将原始文件切割成更小的碎片:

short=mdf.cut(start=starttime, include_ends = True)
short.save()

然后我可以像往常一样导入文件。

为什么 asammdf 会丢失信息,或者更确切地说,我如何按频道过滤并导入新文件?

asammdf 是否有可能默认导出基于信号的MF4?

4

0 回答 0