简而言之,我要寻找的是与Python中的SQL nvl()相当的东西。
更多信息 :
我有一个循环,从json列表中检索数据。它们看上去都一样,但是其中一些缺少我正在检索的东西。因此,如果我尝试获取data['movie']['boxOffice'][0]['admissionCount']
并且它不在JSON中,则会收到错误消息(注意:这可能是因为'admissionCount'不存在,或者因为'boxOffice'不存在)。
为了避免这种情况,以下是我目前正在做的事情:
try:
admissionCount = data['movie']['boxOffice'][0]['admissionCount']
except:
admissionCount = ''
它工作正常,但是我有大约50个字段需要检查...
我试图把它变成一个函数:
def nvl(json_element):
try:
out = json_element
except:
out = ''
finally:
return out
nvl(data['movie']['boxOffice'][0]['admissionCount'])
然后意识到这是愚蠢的,当然我得到了一个错误。
如何避免必须做50个
try/except
块?谢谢
最佳答案
您可以将.get()
方法与默认命令一起使用
dict = {"a" : 1}
dict.get("a") # return 1
dict.get("b") # return None
dict.get("b", "default_obj") # return default_obj