- Мой журнал хранится в списке в следующем формате:
log = [can.Message (timestamp = 1551734911.0096931, арбитраж_id = 0x14ff0065, extended_id = True, канал = 2,dlc = 8, данные = [0xf4, 0x7c, 0x89, 0x35, 0x28, 0xf, 0xea, 0xe]), can.Message (отметка времени = 1551734911.0102572, арбитраж_id = 0x14ff0165, extended_id = True, канал = 2, dlc = 8, данные= [0x40, 0x14, 0x0, 0x36, 0xd0, 0x39, 0x60, 0x22]), can.Message (отметка времени = 1551734911.0108252, идентификатор арбитража = 0x14ff0265, extended_id = True, канал = 2, dlc = 8, данные = [0x80, 0x35, 0x9, 0xf, 0x8c, 0x0, 0x0, 0x0]), can.Message (timestamp = 1551734911.0114133, Арбитраж_ID = 0x14fef100, extended_id = True, канал = 2, dlc = 8, data = [0xff, 0xff, 0xff, 0xff, 0xff,0xff, 0xff, 0xff, 0xff])]
Цель: преобразовать журнал в кадр данных pandas, который выглядит следующим образом:
timestamp arbitration_id extended_id channel dlc data
0 1551734911.00969 0x14ff0065 TRUE 2 8 [0xf4, 0x7c, 0x89, 0x35, 0x28, 0xf, 0xea, 0xe] 1 1551734911.01025 = 0x14ff0165 TRUE 2 8 [0x40, 0x14, 0x0, 0x36, 0xd0, 0x39, 0x60, 0x22] 2 1551734911.01082 0x14ff0265 TRUE 2 8 [0x80, 0x35, 0x9, 0xf, 0x8c, 0x0, 0x0, 0x0]
Я попробовал следующий код:
log = can.BLFReader(filename)
log = list(log)
df = pd.DataFrame(log)
print(df.head(5))
Вывод:
0
0 Метка времени: 1551734911.009693 ID: 14ff0065 ... 1 Метка времени: 1551734911.010257 ID: 14ff0165 ... 2 Метка времени: 1551734911.010825 ID: 14ff0265 ... 3 Метка времени: 1551734911.011413 ID: 14fef100 ... 4 Метка времени:1551734911.011973 ID: 14ff0068 ...