在过去的一周中,我一直在牢牢掌握python的知识,最后终于可以正常工作了,但是可以使用一些帮助来加快它的运行速度该功能从车辆CAN总线上注销.CSV,并将其简化为与一组消息ID和遇到的消息ID匹配的记录列表。文件是500,000行到50,000,000行。目前,在我的笔记本电脑中,每条线大约需要3.2uS。CSV文件行如下所示:Time [s],Packet,Type,Identifier,Control,Data,CRC,ACK0.210436250000000,0,DATA,0x0CFAE621,0x8,0x02 0x50 0x00 0x00 0x04 0x01 0x00 0x29,0x19A8,NAK......52.936353750000002,15810,DATA,0x18FC07F4,0x8,0xF0 0x09 0x00 0x00 0xCE 0x03 0x92 0x20,0x0C47,ACK因此,第4个条目“ 0x0CFAE621”是消息ID,第6个条目“ 0xF0 0x09 0x00 0x00 0xCE 0x03 0x92 0x20”是数据这用0x00FFFF00掩盖,如果匹配保存为[0xFAE600,'F0','09','00','00','CE','03','92','20'],尽管理想情况下我会想要在此时将所有数据都转换为int,用int()包裹每个数据似乎非常慢(当时我想我可以通过dict进行十六进制-Int转换来改善它,但是我不确定如何要做到这一点)len()和if树是由于消息数据可以为8条记录而为空,我再次觉得可能有更好的方法来完成此操作。
添加回答
举报
0/150
提交
取消