Jul*_*Wgs 4 python can-bus type-conversion
我有来自 Vector 软件的 blf 格式的 CAN 数据。为了进一步调查,我想使用 python 将其转换为 csv 格式。
我到目前为止的进展:
import can
filename = "test.blf"
log = can.BLFReader(filename)
Run Code Online (Sandbox Code Playgroud)
我不知道那是不是正确的方法。我现在无法将“日志”保存到 csv 文件。
这可能有帮助
原答案:
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)
Run Code Online (Sandbox Code Playgroud)
新答案:
因为我已经发布了这个,我实际上创建了一个库,它为 CAN 数据提供了像 API 这样的熊猫。检查它在这里。可以在此处找到功能演示。
import candas as cd
db = cd.load_dbc("dbc_folder")
# Provide file without extension
log_data = cd.from_file("blf_file")
# Signals can be accessed like this
log_data["AVGcellTemperature"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12549 次 |
| 最近记录: |