Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python将.blf数据从CAN转换为.csv_Python_Type Conversion_Can Bus - Fatal编程技术网

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

如何使用python将.blf数据从CAN转换为.csv,python,type-conversion,can-bus,Python,Type Conversion,Can Bus,我有矢量软件中blf格式的CAN数据。为了进一步研究,我想使用python将其转换为csv格式 我目前的进展: import can filename = "test.blf" log = can.BLFReader(filename) 我不知道这是不是正确的方法。我现在无法将“日志”保存到csv文件 这可能该对象的列表会起作用 import can import csv filename = "test.blf" log = can.BLFReader("test.blf") log =

我有矢量软件中blf格式的CAN数据。为了进一步研究,我想使用python将其转换为csv格式

我目前的进展:

import can
filename = "test.blf"
log = can.BLFReader(filename)
我不知道这是不是正确的方法。我现在无法将“日志”保存到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)

我尝试了这种方法,得到了
断言头[0]==b“LOBJ”,“解析错误”
文件“C:\Users\my\u user\u name\AppData\Local\Python\Python36\lib\site packages\can\io\blf.py”,第129行,在
中)。我试图传递的BLF文件是一个合法的Vector CANoe日志文件。有什么想法吗?请把.blf上传到某个地方,我会看看我以前从未遇到过这个错误。也许你可以上传一个虚拟文件?生成一个虚拟文件超出了我目前对CANoe的了解(我是新来的),但我确信该文件是合法的,因为我可以使用Vector CANoe本身(
Tools>>Logging file Conversion
dialog)将其转换为CSV,没有任何问题。我相信你是合法的,但是要知道这是你这边的问题还是代码中的问题,唯一的办法就是给我一些测试blf文件。也许你可以寄给我一些非机密的日志。而且它只需要非常短(1s)