如何解决如何仅对字典的某些条目而不对所有字典处理KeyError?
我正在使用从sparql查询中检索的数据构建表。问题是某些条目在数据库中没有值,并且当我构建表时,出现keyerror异常。如何处理异常,以便将“无”放置在触发异常的字段中?到目前为止,无值被放置在整行中,但是该例外仅存在于该行的一个单元格中。 python代码如下:
for j in range(len(results['results']['bindings'])): # effective results from database
try:
data.append([[results['results']['bindings'][j][results['head']['vars'][i]]['value']] for i in
range(len(results['head']['vars']))])
except KeyError:
data.append([None]) # get each line sepparately
发生KeyError异常是因为某些条目在数据库中为NULL,但是代码也在搜索它们。怎么解决呢? 实际表如下:
在这里,只有BatteryLife应该为None,但是整行都缺少结果。
解决方法
我建议在此处不要使用列表理解功能。代码不可读
一旦您解压缩了代码,就可以采用不同的方式进行操作
- 检查密钥是否存在:
if key in dict
- 返回默认密钥:
dict.get(test,None)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。