我正在尝试将数据集读入 pandas 数据框。数据集当前位于 .txt 文件中,其内容如下:name: hello_worldrating: 5description: basic programname: python
我正在尝试将数据集读入 pandas 数据框。数据集当前位于 .txt 文件中,如下所示:
name: hello_world
rating: 5
description: basic program
name: python
rating: 10
description: programming language
如您所见,每行开头都是列名,后面跟着数据。数据框的不同行由一条额外的线分隔。有没有一种简单的方法可以将这种类型的文件读入 pandas,还是我必须手动完成?
谢谢!
编辑:感谢大家的帮助。看来答案是,是的,你必须手动完成。我在下面发布了我手动完成的方法,但我确信还有其他更有效的方法。
通用建议:
import pandas as pd
def from_txt_transposed_to_pandas(file):
"""
take a txt file like this:
"
name: hello_world
rating: 5
description: basic program
name: python
rating: 10
description: programming language
"
-of any length- and returns a dataframe.
"""
tabla = pd.read_table(file)
cols = list(set([x.split(":")[0] for x in tabla.iloc[::,0]]))
tabla_df= pd.DataFrame(columns = cols)
elem = list(tabla[tabla.columns[0]])+[tabla.columns[0]]
for n in range(len(cols)):
tabla_df[cols[n]]= [x.split(":")[1] for x in elem if\
x.startswith(cols[n])]
return tabla_df