python - 当 KEY/VALUE 对不存在时如何继续写入 .csv:KeyError
问题描述
数据示例:
[
{"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 的那部分时,我收到一个错误:
键错误:'颜色'
有没有办法忽略该对象不存在,而只是继续编写 .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
推荐阅读
- mqtt - mosquitto mqtt 有太多正在发布的错误
- javascript - 如何在 ajax 脚本中添加另一个帖子名称/变量
- javascript - 试图用 var 而不是数字来简化 javascript。我对这一切都错了吗?
- java - 当您有多个方法调用但请求主体不同时,DTO 模式是什么?
- android - 如何使用 Kotlin 调用返回模块类型的方法?
- javascript - HIghchart 以周间隔显示当前月份数据
- .net-core - EF Core 中的 SqlFunctions.DatePart 等效项
- android - 如何从 ThemedReactContext 获取支持片段管理器?
- c - 定义变量“C 编程”
- html - 固定旋转木马高度的问题