Python解析文本文件并将其转换为数据框

时间:2018-09-04 19:51:43

标签: python pandas dataframe text

我需要帮助来解析此文本文件中的特定字符串,然后将其转换为数据框。

我正在尝试解析文本文件的这一部分:

Max-Clique的图表统计信息:

|V|: 566834
|E|: 659570
d_max: 8
d_avg: 2
p: 4.10563e-06
|T|: 31315
T_avg: 0
T_max: 5
cc_avg: 0.0179651
cc_global: 0.0281446

解析文本文件后,我需要将其放入一个数据帧,其中的列为| V |,| E |,| T |,T_avg,T_max,cc_avg和cc_global。请指教!谢谢:)

1 个答案:

答案 0 :(得分:2)

您可以通过pd.read_csv直接读取Pandas数据框。只要记住使用适当的sep参数即可。您可以将索引列设置为第一列并转置:

import pandas as pd
from io import StringIO

x = StringIO("""|V|: 566834
|E|: 659570
d_max: 8
d_avg: 2
p: 4.10563e-06
|T|: 31315
T_avg: 0
T_max: 5
cc_avg: 0.0179651
cc_global: 0.0281446""")

# replace x with 'file.txt'
df = pd.read_csv(x, sep=': ', header=None, index_col=[0]).T

结果

print(df)

0       |V|       |E|  d_max  d_avg         p      |T|  T_avg  T_max  \
1  566834.0  659570.0    8.0    2.0  0.000004  31315.0    0.0    5.0   

0    cc_avg  cc_global  
1  0.017965   0.028145