Pandas Python从自定义文件格式读取数据帧
使用Python3和pandas 0.19.2 我的日志文件的格式如下:Pandas Python从自定义文件格式读取数据帧,pandas,parsing,dataframe,Pandas,Parsing,Dataframe,使用Python3和pandas 0.19.2 我的日志文件的格式如下: [Header1][Header2][Header3][HeaderN] [=======][=======][=======][=======] [Value1][Value2][Value3][ValueN] [AnotherValue1][ValuesCanBeEmpty][][] ... …这与CSV非常相似,只是每个值都由[和]包围,并且没有真正的分隔符。 将该内容加载到pandas数据框中最有效的方法是什么?
[Header1][Header2][Header3][HeaderN]
[=======][=======][=======][=======]
[Value1][Value2][Value3][ValueN]
[AnotherValue1][ValuesCanBeEmpty][][]
...
…这与CSV非常相似,只是每个值都由[
和]
包围,并且没有真正的分隔符。
将该内容加载到pandas数据框中最有效的方法是什么?您可以使用分隔符][
,必须通过\
进行转义。然后通过以下方式删除列和值,并删除包含所有NaN
的行:
我认为您可以从每行的开头删除
]
,从每行的结尾删除[
,然后用分隔符][
读取
s ='''[Header1][Header2][Header3][HeaderN]
[=======][=======][=======][=======]
[Value1][Value2][Value3][ValueN]
[AnotherValue1][ValuesCanBeEmpty][][]'''
f = StringIO(s)
s1 = ''.join([line.lstrip('[').rstrip('\n]') + '\n' for line in f.readlines()])
pd.read_csv(StringIO(s1), sep='\]\[', engine='python')
输出
Header1 Header2 Header3 HeaderN
0 ======= ======= ======= =======
1 Value1 Value2 Value3 ValueN
2 AnotherValue1 ValuesCanBeEmpty NaN NaN
谢谢。我正在研究pandas解析器(),但我无法正确地对任何内容进行子类化…您能否将
]
添加到每行的开头并[
到每一行的末尾?那么就不需要替换了。投票被否决,因为这并不能回答问题。这是一个解决办法,但不是答案。OP不应该给出一个例子。
Header1 Header2 Header3 HeaderN
0 ======= ======= ======= =======
1 Value1 Value2 Value3 ValueN
2 AnotherValue1 ValuesCanBeEmpty NaN NaN