如何使用python将.blf数据从CAN转换为.csv

时间:2018-03-26 20:16:22

标签: python type-conversion can-bus

我有来自Vector软件的blf格式的CAN-Data。为了进一步调查,我想使用python将其转换为csv格式。

到目前为止我的进展:

import can
filename = "test.blf"
log = can.BLFReader(filename)

我不知道这是否正确。我现在无法将“log”保存到csv文件中。

这可能是help

1 个答案:

答案 0 :(得分:3)

该对象的列表可以解决这个问题

import can
import csv

filename = "test.blf"
log = can.BLFReader("test.blf")
log = list(log)

log_output = []

for msg in log:
    msg = str(msg)
    log_output.append([msg[18:26],msg[38:40],msg[40:42],msg[46],msg[62],msg[67:90]])

with open("output.csv", "w", newline='') as f:
    writer = csv.writer(f,delimiter=';', quotechar='\"', quoting=csv.QUOTE_ALL)
    writer.writerows(log_output)