如何在Python中将dict的这种特定格式转换为CSV



我有一个由id唯一标识的人员字典。现在我需要将dict转换为csv并将其写入路径。然而,我需要一个更有效的解决方案,因为我认为我的方法不能很好地处理大型数据集。

Python dict

names = {
0: {
"id": 0,
"name": "William",
"age": 19
},
1: {
"id": 1,
"name": "John",
"age": 29
},
2: {
"id": 2,
"name": "Tim",
"age": 42
}
}

预期输出

id,name,age
0,William,19
1,John,29
2,Tim,42

我的尝试:

data = []
for key in names:
person = names[key]
data.append({
"id": person["id"],
"name": person["name"],
"age": person["age"]
})
df = pd.json_normalize(data)
df.to_csv('./persons.csv', index=False, na_rep='"')

你有更有效的方法吗?我无法更改我最初的dict结构。

试用from_dict

pd.DataFrame.from_dict(names,'index')
Out[197]: 
id     name  age
0   0  William   19
1   1     John   29
2   2      Tim   42

我的另一次尝试

df = pd.DataFrame.from_dict(products, orient='index').reset_index(drop=True)

最新更新