【问题标题】:Exporting python list to csv将 python 列表导出到 csv
【发布时间】:2019-11-09 09:11:14
【问题描述】:

我有以下名为 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']})

【问题讨论】:

  • i[1].get('sex', "default value") - 如果没有 ['sex'] 则返回 "default value" 而不是 KeyError
  • @furas 我应该在哪里提到这个?你能详细说明一下吗?
  • writer.writerow({'givenName': i[1].get('name', 'unknown'), 'sex': i[1].get('sex', 'male?')})
  • @furas .get 方法有效。非常感谢 :)

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


【解决方案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?')})

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 2015-11-06
    • 2018-05-06
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    相关资源
    最近更新 更多