我正在嘗試為這個檔案撰寫我的第一個決議腳本;
;$FILEVERSION=1.3
;$STARTTIME=44512.7163933106
;
;-------------------------------------------------------------------------------
; Bus Name Connection Protocol Bit rate
; 1 Connection1 Untitled6@_usb CAN 250 kbit/s
; 2 Connection2 Untitled5@_usb CAN 500 kbit/s
; 3 Connection3 Untitled1@_usb J1939 500 kbit/s
; 4 Connection4 Untitled2@_usb CAN 250 kbit/s
; 5 Connection5 Untitled3@_usb CAN 250 kbit/s
; 6 Connection6 Untitled7@_usb J1939 250 kbit/s
; 7 Connection7 Single@_usb CAN 250 kbit/s
;-------------------------------------------------------------------------------
; Message Number
; | Time Offset (ms)
; | | Bus
; | | | Type
; | | | | ID (hex)
; | | | | | Reserved
; | | | | | | Data Length Code
; | | | | | | | Data Bytes (hex) ...
; | | | | | | | |
; | | | | | | | |
;--- -- ------ ------ - -- -- ---- --- - - -- - -- -- -- -- -- -- --
1) 0.015 7 Rx 047A - 6 88 13 AD 92 11 00
2) 0.093 5 Rx 18FF6221 - 8 C0 F0 00 0C C0 FF 05 FF
3) 0.318 4 Rx 01FB - 8 02 30 00 C0 00 00 00 80
4) 0.484 7 Rx 02FA - 8 88 13 88 13 00 88 13 01
該檔案是通過 CAN 從車輛中記錄的資料,我正在嘗試使用 python 讀取此檔案,以免我不得不使用另一個緩慢且過時的應用程式。
如何以熊貓可以處理資料的方式將其讀入 python?
我是 python 的新手,也是決議檔案的新手,任何方向都非常受歡迎。
uj5u.com熱心網友回復:
如果您的檔案具有固定的列長度,請使用read_fwf:
widths = [8, 14, 3, 6, 9, 3, 5, 9999]
names = ['Message Number', 'Time Offset (ms)', 'Bus', 'Type', 'ID (hex)',
'Reserved', 'Data Length Code', 'Data Bytes (hex)']
df = pd.read_fwf('data.txt', index_col=None, comment=';',
header=None, widths=widths, names=names)
輸出:
>>> df
Message Number Time Offset (ms) Bus Type ID (hex) Reserved Data Length Code Data Bytes (hex)
0 1) 0.015 7 Rx 047A - 6 88 13 AD 92 11 00
1 2) 0.093 5 Rx 18FF6221 - 8 C0 F0 00 0C C0 FF 05 FF
2 3) 0.318 4 Rx 01FB - 8 02 30 00 C0 00 00 00 80
3 4) 0.484 7 Rx 02FA - 8 88 13 88 13 00 88 13 01
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/366667.html
