我如何使用 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_csv
的 skiprows
.
我有一个包含以下格式的大数据的文件:
[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_csv
的 skiprows
.