KEY/VALUE 对不存在时如何继续写入 .csv:KeyError

How to continue writing to .csv when KEY/VALUE pair doesn't exist: KeyError

数据示例:

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

我写入 .csv 文件的代码:

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

对于水果 'orange',它没有 'color' k/v 对,所以当我的代码命中 JSON 的那部分时,我得到一个错误:

按键错误:'color'

有没有一种方法可以忽略该对象不存在,并继续写入 .csv 文件?

您可以明确检查 "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