正确使用dict.get来处理distance_matrix高级响应以避免键错误

时间:2019-03-26 14:36:02

标签: python-3.x dictionary google-distancematrix-api

在处理distance_matrix api的响应以处理可能无法返回duration_in_traffic的情况(由于流量数据不足)时,我无法理解使用dict.get的正确方法

{'destination_addresses': ['some location],
 'origin_addresses': ['some startpoint'],
 'rows': [{'elements': [{'distance': {'text': '201 km', 'value': 201046},
     'duration': {'text': '2 hours 12 mins', 'value': 7893},
     'duration_in_traffic': {'text': '2 hours 29 mins', 'value': 8920},
     'status': 'OK'}]}],
 'status': 'OK'}

该响应被检测为字典,如果我输出键,我将得到

dict_keys(['destination_addresses', 'origin_addresses', 'rows', 'status'])

但我不清楚如何合并.get()以获得'duration_in_traffic' or return a default value处理可能的KeyError我知道我的响应不会解决该错误,但是在大约15,000个请求中,我遇到了一些并希望改善代码以应对

我应该只使用

try: 
     DurationTrafficText=Distance_Demo["rows"][0]["elements"][0]["duration_in_traffic"]["text"]
except KeyError:
     DurationTrafficText=0

0 个答案:

没有答案