将python列表导出到csv

时间:2019-06-27 10:55:08

标签: python python-2.7 list csv export-to-csv

我有以下名为tes的列表,我需要以csv格式存储它。

tes=[('branch=cse\\',{'name':['abc'],'sex':['male']}),('branch=ece\\',{'name':['def']})]

当列表具有所有值时,我的代码运行良好,但是如果列表中缺少某些值,则会收到KeyError。我在下面附加了我的代码。有人可以为我提供更好的选择吗?

import csv
tes=[('branch=cse\\',{'name':['abc'],'sex':['male']}),('branch=ece\\',{'name':['def']})]
with open('check.csv','w') as csvfile:
    fieldnames = ['givenName','sex']
    writer=csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for i in tes:
        writer.writerow({'givenName': i[1]['name'], 'sex': i[1]['sex']})

1 个答案:

答案 0 :(得分:1)

您可以使用i[1].get('sex', "default value")。如果没有密钥['sex'],那么它将返回"default value"而不是KeyError

writer.writerow({'givenName': i[1].get('name', 'unknown'), 'sex': i[1].get('sex', 'male?')})