如何使用标题输出到表?

时间:2018-06-09 10:08:17

标签: python python-3.x google-maps

这是我的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模块丢失了。无法导入模块。

1 个答案:

答案 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))