增加了网页服务
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import cantools
|
||||
import csv
|
||||
import sys
|
||||
|
||||
def export_dbc_to_csv(dbc_file, csv_file):
|
||||
try:
|
||||
# 载入 DBC 文件
|
||||
db = cantools.database.load_file(dbc_file)
|
||||
print(f"成功加载 DBC 文件: {dbc_file}")
|
||||
|
||||
# 打开 CSV 文件写入
|
||||
with open(csv_file, mode='w', newline='', encoding='utf-8') as file:
|
||||
writer = csv.writer(file)
|
||||
# 写入表头
|
||||
writer.writerow([
|
||||
"MessageName", "MessageID", "DLC", "Sender",
|
||||
"SignalName", "StartBit", "Length", "Factor", "Offset",
|
||||
"Min", "Max", "Unit", "Receivers", "SignalComment"
|
||||
])
|
||||
|
||||
# 遍历每条消息和信号
|
||||
for msg in db.messages:
|
||||
for signal in msg.signals:
|
||||
writer.writerow([
|
||||
msg.name,
|
||||
hex(msg.frame_id),
|
||||
msg.length,
|
||||
','.join(msg.senders),
|
||||
signal.name,
|
||||
signal.start,
|
||||
signal.length,
|
||||
signal.scale,
|
||||
signal.offset,
|
||||
signal.minimum,
|
||||
signal.maximum,
|
||||
signal.unit,
|
||||
','.join(signal.receivers),
|
||||
signal.comment if signal.comment else ''
|
||||
])
|
||||
|
||||
print(f"已导出为 CSV 文件: {csv_file}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"导出失败: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# if len(sys.argv) != 3:
|
||||
# print("用法: python dbc_to_csv.py your_file.dbc output.csv")
|
||||
# else:
|
||||
# export_dbc_to_csv(sys.argv[1], sys.argv[2])
|
||||
export_dbc_to_csv(
|
||||
'/home/zjk/project/H100/H100PowerManger/test/cantools/CSC_TSU_20240823.dbc',
|
||||
'/home/zjk/project/H100/H100PowerManger/test/cantools/CSC_TSU_20240823.csv'
|
||||
)
|
||||
Reference in New Issue
Block a user