我有一个文件目录,我将其解析为具有多个键值对的字典,我希望将每个字典作为一行存储在pandas数据框中。
import pandas as pd
df = pd.DataFrame()
for file in os.listdir(directory):
dict1 = parseFileToDict(file)
df_temp = pd.DataFrame.from_dict(dict1, orient='columns')
df_temp.set_index('name')
df = df.append(df_temp)
“ parseFileToDict()”的示例输出看起来像这样,
d = {'name': 'foo', 'place': 'bar', 'dob': '22-11-1990'}
但是从字典创建pandas数据框时出现以下错误,
"ValueError: If using all scalar values, you must pass an index"
答案 0 :(得分:1)
首先循环创建字典列表:
L = []
for file in os.listdir(directory):
dict1 = parseFileToDict(file)
L.append(dict1)
或在列表理解中:
L = [parseFileToDict(file) for file in os.listdir(directory)]
,如果性能很重要,则将其传递给DataFrame
构造函数:
df = pd.DataFrame(L).set_index('name')