如何读取两个对象之间没有分隔的日志文件?
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:]:
从第二行开始遍历日志文件中的所有行。
我有一个要读取到数据框的日志文件,但两个对象之间没有分隔符。
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:]:
从第二行开始遍历日志文件中的所有行。