首页 > 解决方案 > 如何将带有字典的字典作为值保存到Python中的csv文件中

问题描述

我有一本像下面这样的字典:

myDict={ "1": subdict1, "2": subdict2, ...}

每个 subdict 如下所示:

subdictn={"feature1":An(string) , "feature2":Bn(integer) , "feature3":Cn(datetime), ...}

如何将其保存到数据框或 csv 文件中,如下所示:

桌子

标签: pythoncsvdictionary

解决方案


你可以做这样的事情。我的假设是每个 subdict 都有相同的键,否则你会得到错误或不写所有东西。:

import csv

x1 = {"f1":"A", "f2":3}
x2 = {"f1":"B", "f2":14}

header = list(x1.keys()) 

myDict={ "1": x1, "2": x2}

with open('file.csv', mode='w', newline='') as fp:
    writer = csv.writer(fp, delimiter=',')
    writer.writerow(["key"]+header)
    for subkey in myDict:
        writer.writerow([subkey]+[myDict[subkey][k] for k in header])

文件内容:

key,f1,f2
1,A,3
2,B,14

推荐阅读