- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有来自 Vector 软件的 blf 格式的 CAN 数据。为了进一步调查,我想使用 python 将其转换为 csv 格式。
到目前为止我的进步:
import can
filename = "test.blf"
log = can.BLFReader(filename)
我不知道那是不是正确的方法。我现在无法将“日志”保存到 csv 文件。
这可能 help
最佳答案
原答案:
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)
新答案:
自从我发布这篇文章后,我实际上创建了一个库,它为 CAN 数据提供了一个类似于 API 的 pandas。看看here .可以找到功能演示 here .
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"]
关于python - 如何使用 python 将 .blf 数据从 CAN 转换为 .csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49499903/
我有一个包含多个 CAN 总线消息的 .blf 文件,我可以像这样使用 python-can 读取该消息 import can can_log = can.BLFReader("./test.blf"
我正在查看这段代码: http://lxr.free-electrons.com/source/arch/x86/include/asm/bitops.h 静态内联无符号长__ffs(无符号长字) {
我的第一个方法是使用 python-can (因为它在 2.0.0 版本中添加了对解析 BLF 文件的支持)如下所示: import can filename = "logfile.blf" logg
我有来自 Vector 软件的 blf 格式的 CAN 数据。为了进一步调查,我想使用 python 将其转换为 csv 格式。 到目前为止我的进步: import can filename = "t
这类似于 this question ,但我想最终得到一个新的 BLF 文件而不是 .csv 文件。我这样做是为了删除 BLF 文件中损坏的对象,该对象阻止我将其导入 Vector 的软件。我想有一种
我是一名优秀的程序员,十分优秀!