如何读取两个对象之间没有分隔的日志文件?

How do I read a log files where separation between two objects is nothing?

我有一个要读取到数据框的日志文件,但两个对象之间没有分隔符。

Country|ID|Item_IDCountry|ID|Item_IDCountry|ID|Item_IDCountry|ID|Item_ID

在这种格式中,国家严格来说是一个 2 个字符的字符串。

我正在尝试弄清楚如何在 python 中做到这一点,因为我仍然是初学者。 任何帮助将不胜感激

我尝试了 read_csv 但失败了,我试图在网上寻找答案但没有找到多少

该格式的分隔符是 |,假设相关日志文件的名称是 logs.csv:

import pandas

logs = []
with open("logs.csv") as f:
    lines = f.readlines()
    column_names = lines[0].rstrip('\n').split("|")
    for l in lines[1:]:
        logs.append(l.rstrip('\n').split("|"))

df = pandas.DataFrame(logs, columns=column_names)
print(df)

lines[0].rstrip('\n').split("|") 基本上删除了第一行的 new-line 字符,并将列名 (Country|ID|Item_IDCountry|ID|Item_IDCountry|ID|Item_IDCountry|ID|Item_ID) 变成一个列表。

for l in lines[1:]: 从第二行开始遍历日志文件中的所有行。