我有一个由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)