【问题标题】:How to continue writing to .csv when KEY/VALUE pair doesn't exist: KeyError当 KEY/VALUE 对不存在时如何继续写入 .csv:KeyError
【发布时间】:2021-01-31 23:05:04
【问题描述】:

数据示例:

[
{"fruit": "apple", "color": "red"},
{"fruit": "banana", "color": "yellow"},
{"fruit": "orange"}
]

我用于写入 .csv 文件的代码:

for item in a["data"]:
    csv_file.writerow([item['fruit'], item['color']])

对于水果“橙色”,它没有“颜色”k/v 对,所以当我的代码遇到 JSON 的那部分时,我会收到错误:

KeyError: '颜色'

有没有办法忽略该对象不存在,而继续编写 .csv 文件?

【问题讨论】:

  • 可能有更好的解决方案,但 try-except 循环应该可以工作。
  • 尝试使用try/except

标签: python json api endpoint


【解决方案1】:

您可以显式检查"color" 密钥是否存在:

for item in a["data"]:
    if 'color' in item:
        csv_file.writerow([item['fruit'], item['color']])

或者您可以忽略该部分代码中的KeyError 异常:

for item in a["data"]:
    try:
        csv_file.writerow([item['fruit'], item['color']])
    except KeyError:
        pass

【讨论】:

    猜你喜欢
    • 2015-01-12
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    相关资源
    最近更新 更多