从字典创建数据框并将其附加

时间:2020-10-12 07:52:40

标签: python pandas dataframe

我有一个文件目录,我将其解析为具有多个键值对的字典,我希望将每个字典作为一行存储在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"

1 个答案:

答案 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')