将Google地图距离矩阵结果导入Excel文件

时间:2017-01-17 12:58:38

标签: python excel distance

我试图在两个地方之间获得距离和持续时间。 我有大约2000种组合(实际上,在excel文件中有10000种组合。我必须将它们分成5个excel文件,因为谷歌的每日限制)我尝试使用python来完成这项任务。

我成功获得了结果,但它太乱了,很难保存在名为“result”的excel文件中。

有人可以建议我将结果保存在excel文件中吗?

这是我的代码,我附上了一份我可以获得的结果文件。

#way1

import googlemaps

gmaps = googlemaps.Client('--')#directions

import os
import csv

def get_file_path(filename):

    currentdirpath=os.getcwd()

    file_path = os.path.join(os.getcwd(), filename)

    print (file_path)

    return file_path

path = "C:\\----\\com(eng)1-1.csv"

def read_csv(filepath):

    with open(filepath, 'rU', encoding="utf8") as csvfile:

        reader = csv.reader(csvfile)

        for row in reader:

            my_distance = gmaps.distance_matrix(row[0]+", seoul", row[2], mode="transit")
            print (my_distance)

read_csv(path)

以下是我可以从代码中获得的内容;

enter image description here

从结果来看,我只需要excel文件中的距离和持续时间,但我不知道如何将它们导入excel文件。有人可以帮我这么做吗?

1 个答案:

答案 0 :(得分:1)

안녕하세요ㅋㅋ

因此图像显示'print(my_distance)'的结果对吗? 您可以使用像这样的json模块轻松处理结果。

import json

def read_csv(filepath):

    with open(filepath, 'rU', encoding="utf8") as csvfile:
        reader = csv.reader(csvfile)

        for row in reader:
            my_distance = gmaps.distance_matrix(row[0]+", seoul", row[2], mode="transit")
            print (my_distance)

            result_dict = json.loads(my_distance)
            distance = result_dict['distance']['value'] # meters
            duration = result_dict['duration']['value'] # seconds

            # do something 

read_csv(path)

有关json的更多信息:https://en.wikipedia.org/wiki/JSON