我如何使用 python 解析与 INI 结构相似的数据文件?

How do i parse data file with similar structure to INI using python?

我有一个包含以下格式的大数据的文件:

[metadata]      
metadata1   metadata2 metadata3
[data]      
label1   label2    label3
0   0   0
0   0   0
0   0   0
...

我正在尝试加载数据部分以在我的 python 脚本中作为 pandas 数据帧进行处理。

到目前为止我尝试的是在 excel 中加载文件并将其保存为 sheet 然后使用 pandas.read_excel() 加载到数据框中,但这并不实用可以想象的解决方案。

非常感谢有关此主题的帮助,谢谢!

我会按照以下方式处理它:打开文件进行阅读,消耗行直到找到 [data],将其提供给 pandas.read_csv specyfing 空格作为分隔符。让file.txt内容

[metadata]      
metadata1   metadata2 metadata3
[data]      
label1   label2    label3
0   0   0
0   0   0
0   0   0

然后

import pandas as pd
f = open("file.txt", "r")
while(next(f).strip()!='[data]'):
    pass
df = pd.read_csv(f, sep='\s+')
f.close()
print(df)

输出

   label1  label2  label3
0       0       0       0
1       0       0       0
2       0       0       0

说明:文件尾部可能被视为以空格作为分隔符的 csv 文件,通过消耗高达 [data] 的行我正在寻求指出,因此接下来是合法的 csv,然后使用 pandas.read_csv功能。请注意,如果知道带有标签的行之前的行数,您可能只是利用 pandas.read_csvskiprows.