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
数据示例:
[
{"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