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

vjhs03f7  于 2024-01-05  发布在  Python
关注(0)|答案(1)|浏览(195)

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

  1. from can.io import BLFWriter
  2. import can
  3. import pandas as pd
  4. #input paths
  5. path = '/home/ranjeet/Downloads/CAN/BLF_READER/input/'
  6. asc_file = '20171209_1610_15017.asc'
  7. blf_file = '20171209_1610_15017.blf'
  8. df = pd.read_table(path + asc_file)
  9. print(df)

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

c2e8gylq

c2e8gylq1#

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

  1. import can
  2. with open(asc_file, 'r') as f_in:
  3. log_in = can.io.ASCReader(f_in)
  4. with open(blf_file, 'wb') as f_out:
  5. log_out = can.io.BLFWriter(f_out)
  6. for msg in log_in:
  7. log_out.on_message_received(msg)
  8. log_out.stop()

字符串

相关问题