什么是dat文件?
如果在百度中搜索,大概率会得到类似这样的回答:
dat即data,指包含了一些数据信息的文件,数据信息可能是图片,视频,音频,文件等信息,不愿定是哪个,如果要想打开,须要利用相应的软件打开,比如音频,要用音频软件打开。

本篇文章所提到的dat文件:特指汽车工程师常用软件INCA,所采集的丈量文件,紧张包含车辆和发动机基本参数随韶光的变革数据。比如,下面是某个dat文件在MDA软件中打开的结果,可以查看发动机和后处理参数在运行过程中表现。
csv文件,便是利用excel打开的表格数据。
为什么要把dat转成csv呢,什么情形下你会用得到?
dat文件一样平常只能用MDA这种专业软件打开,查看变量实时表现,但是如果想统计所有记录文件里,转速大于2000的区域,温度表现,或者均匀温度;再或者须要看DPF温度有没有超过600度,超过了多久。
这些须要对数据进行剖析打算。个中最突出需求的是OBD鲁棒性剖析/路试剖析,常常须要对采集的丈量数据进行统计出报告,这种软件我们也有已完成的。
上述情形下,均可以利用csv数据,更方便统计处理,更随意马虎利用python读取数据后进行批量操作。
dat转csv,怎么转?
下面是python程序终极实现界面:
1.任务分解
第一步
先找到得当的库,这个过程有可能是须要反复的,我也是试了好几个库,末了选择了asammdf这个库,它紧张用于处理dat文件;任务拆分:2.编程思路
安装库 pip install asammdf导入库fromasammdfimportMDF
导入asammdf库中的MDF函数,紧张用于将dat文件转成MDF格式数据
这里面须要先容下MDF:
MDF,全称(Measurement Data Format),即丈量数据格式,是ASAM(自动化及丈量系统标准协会)定义的。
INCA、CANape等工具,录制的丈量数据,都是MDF格式。
INCA将文件后缀改成了.dat,实在实质上仍是MDF。
fromPyQt5.QtWidgetsimportQApplication,QMainWindowfromPyQt5.QtWidgetsimportQFileDialogfromPyQt5importQtCore,QtGui,QtWidgets
导入pyqt5的干系组件,用于UI界面实现。
这部分可以利用pycharm中pyqt插件,在可视化界面自行设计,设计好利用ui转py的插件,将其转化成py代码。这部分软件设置自行百度。
第二步
构建一个可视化的界面利用pyqt,在pycharm中引入tool,设计上述界面
第三步
子函数-源数据文件夹获取自建一个子函数,后续引用,链接到“选择dat所在文件夹”button按钮的事宜中。子函数思路:首先须要先将之前操作信息打消,然后设置弹窗选择文件夹,选择好之后,须要将选择的内容通报给路径参数path_,并在操作界面中展示所选择的路径,这是为了直不雅观看到选择的文件路径,便于判断是否选择精确。数据处理主函数利用for循环,由于文件夹中可能有多个dat文件,以是利用遍历dat文件的形式,单个单个处理。首先提取dat文件的文件名,便于后面天生的csv文件命名.接着是筛选变量,利用filter命令,提前将须要筛选的旗子暗记放入变量signals中,以list的形式.末了重置mdf数据的采样频率,比如之前是按照100ms和10ms分别采样,后面须要统一变成100ms或者10ms,这样excel中数据才是方便查看的,每一行代表某一个韶光点的全部数据。导出csv数据和导入数据类似,须要定义一个导出的路径,csv文件放入哪个文件夹?主函数里也须要定义导出csv数据的命令,利用的是mdf.export函数,参数设置如下图.把稳:须要在UI界面中打印导出数据的路径,避免导出后找不到csv文件的位置。如须要上述实战源码文件,请在后台回答“dat2csv”。
如对车辆标定工具和python学习感兴趣,可添加小编wx:cheliang_py,或者qq:2023775165,获取更多标定工具和python学习信息!