这是我的Google Maps API矩阵距离结果:
{
'destination_addresses': 3 locations
'origin_addresses': one static location
'rows': [{
'elements': [{
'distance': {'text': '0.5 km', 'value': 532},
'duration': {'text': '8 mins', 'value': 452},
'status': 'OK'}, {
'distance': {'text': '0.7 km', 'value': 682},
'duration': {'text': '9 mins', 'value': 561},
'status': 'OK'}, {
'distance': {'text': '0.6 km', 'value': 646},
'duration': {'text': '9 mins', 'value': 539},
'status': 'OK'
}]
}],
'status': 'OK'
}
我写这个是为每个距离和持续时间元素提取'值'。
matrixDistance = gmaps.distance_matrix(origin, destinations, mode = "walking")
split = matrixDistance['rows'][0]['elements']
for a in split:
distance = a['distance']['value']
duration = a['duration']['value']
print(distance, duration)
我的问题是如何在表格中打印输出,并使用这样的标题(我可以提取结果,并且有点无法获得标题部分):
Distance Duration
532 452
682 561
646 539
**我认为我可以通过如下编码直接获得价值,但我一直都会遇到错误。所以我分成两部分,如上所示:
for a in matrixDistance:
distance = a['rows'][0]['elements'][0]['distance']['value']
duration = a['rows'][0]['elements'][0]['duration']['value']
print(distance, duration)
TypeError: string indices must be integers
如果我可以稍微清理一下代码会很好,但是现在拆分部分很好但是我无法将结果放到带有标题的表中。有没有人可以给我这方面的帮助?谢谢!
***我也不知道为什么,但我的csv
模块丢失了。无法导入模块。
答案 0 :(得分:0)
以下是我解决此问题的方法。您可以通过不同的库找到许多方法。
matrixDistance = gmaps.distance_matrix(origin, destinations, mode = "walking")
split = matrixDistance['rows'][0]['elements']
print("Distance \t Duration")
for a in split:
distance = a['distance']['value']
duration = a['duration']['value']
print("{} \t\t {}".format(distance ,duration))