繁体   English   中英

如何使用 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 dataframe 进行处理。

到目前为止,我尝试的是在 excel 中加载文件并将其保存为工作表,然后使用pandas.read_excel()将其加载到 dataframe 中。

我将不胜感激有关此主题的帮助,谢谢!

我会按照以下方式处理它:打开文件进行读取,使用行直到找到[data] ,将其提供给pandas.read_csv指定空格作为分隔符。 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)

output

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

Explanation: tail of file might be considered as csv file with whitespaces as separator, by consuming lines up to [data] I am seeking to point so what follows is legal csv, then use pandas.read_csv function. 请注意,如果知道标签行之前的行数,您可能只是利用pandas.read_csvskiprows

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM