当前位置: 首页 > news >正文

显示屏东莞网站建设/网络推广公司官网

显示屏东莞网站建设,网络推广公司官网,标志设计的三要素,互联网公司名称大全重复造轮子,只是为了熟悉一下DBC格式。 与同类工具的不同点: 能批量转换在同一文件夹下的所有DBC,省时省力。很多同类工具转换后的excel列宽较小,不能直接显示全部信息。本代码使用了自适应的列宽,看起来更方便。** …

重复造轮子,只是为了熟悉一下DBC格式。
与同类工具的不同点:

  1. 能批量转换在同一文件夹下的所有DBC,省时省力。
  2. 很多同类工具转换后的excel列宽较小,不能直接显示全部信息。本代码使用了自适应的列宽,看起来更方便。**
# coding=UTF-8
import os
import argparse
import xlsxwriter as xw
import pandas as pd
import re
import openpyxl# DBC信息解码,返回字典
def decode(str1):ans = {}# 报文帧if str1.startswith('BO_'):list1 = re.split(" |: |\n",str1)ans['message_id'],ans['message_name'],ans['message_size'],ans['transmitter'] = list1[1],list1[2],list1[3],list1[4]return ans# 信号帧elif str1.startswith(' SG_'):str1 = str1[5:] # 去掉" SG_ ",共5个字符ans['empty1'],ans['empty2'],ans['empty3'],ans['empty4'] = None,None,None,Nonesub = ':'spt = [sub.start() for sub in re.finditer(sub , str1)]ans['signal_name'],ans['multiplexer_indicator'] = re.split(" ",str1[0:spt[0]])[0], re.split(" ",str1[0:spt[0]])[1]str1 = str1[spt[0]+2:]sub = '@'spt = [sub.start() for sub in re.finditer(sub , str1)]ans['start_bit'],ans['signal_size'],ans['byte_order'],ans['value_type'] = str1[0: str1.find('|',0,spt[0])], str1[str1.find('|',0,spt[0])+1:spt[0]], str1[spt[0]+1], str1[spt[0]+2]if ans['byte_order'] == '0':ans['byte_order'] = 'intel'elif ans['byte_order'] == '1':ans['byte_order'] = 'motorola'if ans['value_type'] == '+':ans['value_type'] = '无符号数'elif ans['value_type'] == '-':ans['value_type'] = '有符号数'str1 = str1[spt[0]+4:]spt = str1.find(' ')ans['factor'],ans['offset'] = re.split(",",str1[1:spt-1])[0], re.split(",",str1[1:spt-1])[1]str1 = str1[spt+1:]sub = ']'spt = [sub.start() for sub in re.finditer(sub , str1)]ans['minimum'],ans['maximum'] = str1[1: str1.find('|',0,spt[0])], str1[str1.find('|',0,spt[0])+1:str1.find(']')]str1 = str1[spt[0]+2:]ans['unit'],ans['receiver'] = str1[0:str1.find(' ')], str1[str1.find(' ')+1:-2]return ansif __name__ == '__main__':parser = argparse.ArgumentParser(description='将文件夹中的所有DBC文件转换为excel')parser.add_argument('dbc_dir', type=str,help='DBC文件所在的文件夹地址')parser.add_argument('excel_dir', type=str,help='excel的保存地址')parser.add_argument('excel_name', type=str,help='excel文件名')args = parser.parse_args()dbc_dir = args.dbc_direxcel_dir = args.excel_direxcel_name = args.excel_nametitle = ['message_id', 'message_name', 'message_size','transmitter', 'signal_name', 'multiplexer_indicator','start_bit', 'signal_size', 'byte_order', 'value_type','factor', 'offset', 'minimum', 'maximum', 'unit', 'receiver']# 遍历指定文件夹下的DBC文件绝对路径,保存为list。dbcfiles = []for filename in os.listdir(dbc_dir):if filename.endswith('.dbc'):dbcfiles.append(filename)df = pd.DataFrame()df.to_excel(excel_name)for dbc in dbcfiles:# 将数据按表头顺序存入listwith open(dbc_dir + '/' + dbc, 'r', encoding='gbk') as f:string = f.readlines()for i in string:data = decode(i)# data = translate(data)if data != None:val = list(data.values())df1 = pd.DataFrame([val])df = pd.concat([df,df1],axis=0)with pd.ExcelWriter(excel_name, mode='a', engine="openpyxl") as writer:df.to_excel(writer, sheet_name=dbc, header=title, index=False)workbook = openpyxl.load_workbook(excel_name)worksheet = workbook['Sheet1']workbook.remove(worksheet)for sheet_name in workbook.sheetnames:sheet = workbook[sheet_name]for column in sheet.columns:max_length = 0column = [cell for cell in column]for cell in column:try:if len(str(cell.value)) > max_length:max_length = len(cell.value)except:passadjusted_width = (max_length + 2)sheet.column_dimensions[column[0].column_letter].width = adjusted_widthworkbook.save(excel_dir+"\\"+excel_name)
http://www.jmfq.cn/news/5357683.html

相关文章:

  • 县政府网站建设建议/公司网络营销推广软件
  • 真么样建设网站/手机端竞价恶意点击
  • 龙岗品牌网站建设/互联网营销的特点
  • 网站建设静态部分实训总结/优化师
  • 网站建设公司源码/免费推广的网站平台
  • 网站建设技术参数/自创网站
  • 苏州网站建设永阳网络/惠州关键词排名优化
  • 网站建设及网络营销/seo优化师就业前景
  • 优秀网站建设价格/站长工具怎么用
  • 企业网站建设定制开发/seo搜索引擎是什么意思
  • 品牌网站建设定制/百度在线入口
  • 黄埔b2b网站建设公司/企业网络营销方案策划
  • 网站建设报价东莞/今日最新新闻重大事件
  • 中华人民共和国城乡建设委员会网站/seo如何优化关键词上首页
  • 电子产品网站建设策划书/好的seo平台
  • 兰州广告公司网站建设/2345网址导航怎么样
  • php网站建设系统/宁波seo网络推广咨询热线
  • 网站建设科技有限公司/怎么制作一个简单的网页
  • 临潼区建设局网站/优化工作流程
  • 建设部网站/seo主要优化
  • 最便宜买机票网站建设/广告投放平台有哪些
  • 小说网页网站建设/深圳网站建设专业乐云seo
  • 服务器网站建设流程图/教程seo推广排名网站
  • 武汉网站建设www.com/所有关键词
  • 网站建设分录/为企业策划一次网络营销活动
  • 网站翻译建设/南昌百度网站快速排名
  • 一家网站建设公司需要什么资质/自己建网站怎么弄
  • vs2012建设空网站/国内最新新闻摘抄
  • 苏宁易购网站建设建议/百度关键词搜索次数
  • 网站建设类行业资讯/广西seo公司