Как мне преобразовать данные.blf из CAN в.csv, используя python

У меня есть CAN-данные в формате blf из программного обеспечения Vector. Для дальнейшего изучения я хочу преобразовать его в формат CSV, используя Python.

Мой прогресс до сих пор:

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

Я не знаю, правильно ли это. Я не могу сохранить "журнал" в CSV-файл сейчас.

Это может помочь

1 ответ

Решение

Список этого объекта делает свое дело

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)
Другие вопросы по тегам