Python:将字典写入csv(简短方法)

Emm*_*t B 0 python csv dictionary

我试图写一个字典到csv文件,但不是直接.我为字典键添加了一个新的字段名称.

以下是我想要的,但我想知道它是否可以缩短?特别是最后一行.

import csv

mydict = {"John":{'car':'BMW','age':27}, 'Mike':{'car':'Jetta', 'age':35}}
col_names = ['name','car','age']

with open('junk', 'w' ) as f:
        writer = csv.DictWriter(f,fieldnames=col_names)
        writer.writeheader()
        for key, value in mydict.items():
            writer.writerow({'name':key, 'car':value['car'], 'age':value['age']}) # 
Run Code Online (Sandbox Code Playgroud)

期望的输出应该是:

name,car,age
Mike,Jetta,35
John,BMW,27
Run Code Online (Sandbox Code Playgroud)

Zac*_*Zac 5

为避免在最后一行重复字段名称,您可以将数据存储在临时字典中并进行更新:

out = {'name':key}
out.update(value)
writer.writerow(out)
Run Code Online (Sandbox Code Playgroud)