我有下面的代码,它在下面代码的条形码循环部分抛出了一个超出范围的错误
for each in data['articles']:
f.writerow([each['local']['name'],
each['information'][0]['barcodes'][0]['barcode']])
我编写了一个try-and-except来捕获和处理我正在解析的json中不存在条形码的情况,这在使用print函数进行测试期间非常有效,但是我在尝试将try-and-except写入csv文件时遇到了一些问题
有没有人有任何建议或其他方法,我可以尝试让这个工作
在使用print进行测试时,我的try and accept工作如下:
for each in data['articles']:
print(each['local']['name'])
try:
print(each['information'][0]['barcodes'][0]['barcode'])
except:
"none"
非常感谢您的帮助
使用
dict.get()
方法。如果键不存在,它将返回None
正如komatiraju032所指出的,一种方法是通过
get()
实现这一点,尽管如果字典中的不同元素可能有空/不正确的值,为每个元素提供默认值可能会变得不方便。要通过try/except
执行此操作,您可以执行以下操作:这将为您提供
"none"
替换值,而不管那些列表/目录中的哪个缺少请求的索引/键,因为任何这些查找都可能raise
,但它们最终都将位于相同的except
相关问题 更多 >
编程相关推荐