如何使用python按照矢量格式将CAN的.asc数据转换为.blf

vjhs03f7  于 5个月前  发布在  Python
关注(0)|答案(1)|浏览(87)

我有一个.asc文件,我想将其转换为.blf作为每矢量格式。
我试过了,

from can.io import BLFWriter
import can
import pandas as pd
 
#input paths
path = '/home/ranjeet/Downloads/CAN/BLF_READER/input/'
asc_file = '20171209_1610_15017.asc'
blf_file = '20171209_1610_15017.blf'

df = pd.read_table(path + asc_file)
print(df)

字符串
我能够读取.asc,我如何将其写入.blf文件作为每矢量格式。

c2e8gylq

c2e8gylq1#

如果已经在使用python-can模块,为什么还要用pandas阅读asc文件?
您将分别在文档herethere中找到如何与asc和blf文件交互。
你应该注意的一件事是在二进制模式下读/写blf文件。所以在你的例子中,这应该是可行的(不要忘记停止日志,否则头会丢失):

import can

with open(asc_file, 'r') as f_in:
    log_in = can.io.ASCReader(f_in)

    with open(blf_file, 'wb') as f_out:
        log_out = can.io.BLFWriter(f_out)
        for msg in log_in:
            log_out.on_message_received(msg)
        log_out.stop()

字符串

相关问题