我想使用信号列表过滤 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?