在使用google地图时忽略一个错误

2024-06-25 07:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从googlemapsapi获取一些关于行程的距离和持续时间的信息。问题是我试图找到从某个城市到其他城市的路线,在某些情况下,那里没有现有的道路。在这种情况下,谷歌地图说他们没有结果。没关系,但我是python新手,所以我现在不知道如何忽略这个错误,继续计算其余的行程。在

gmaps = googlemaps.Client(key='API_KEY')

Indice_Ciudad=0

 input=open(r'C:\Users\SantiagoCC\Desktop\destinos.csv','r')
 output=open(r'C:\Users\SantiagoCC\Desktop\Distancias_a_Corabastos.csv','w')

try:
reader=csv.reader(input)
writer=csv.writer(output)
for row in list(reader)[1:]:
    ciudad=row[Indice_Ciudad]
    print(ciudad)

    distancias=gmaps.distance_matrix((4.630562, -74.159983), ciudad)

    writer.writerow((ciudad,
      distancias['rows'][0]['elements'][0]['distance']['value'],
      distancias['rows'][0]['elements'][0]['duration']['value'], ))

当行程不存在时,它只显示keyror'distance'。在


Tags: csvinput情况openusersreaderwriterdistance
1条回答
网友
1楼 · 发布于 2024-06-25 07:26:46

你可以捕捉到异常并相应地处理它。请注意,这将包括其他关键错误(不仅仅是在距离字段)。在

gmaps = googlemaps.Client(key='API_KEY')

Indice_Ciudad=0

input=open(r'C:\Users\SantiagoCC\Desktop\destinos.csv','r')
output=open(r'C:\Users\SantiagoCC\Desktop\Distancias_a_Corabastos.csv','w')

reader=csv.reader(input)
writer=csv.writer(output)
for row in list(reader)[1:]:

    try:
        ciudad=row[Indice_Ciudad]
        print(ciudad)

        distancias=gmaps.distance_matrix((4.630562, -74.159983), ciudad)

        writer.writerow((ciudad,
          distancias['rows'][0]['elements'][0]['distance']['value'],
          distancias['rows'][0]['elements'][0]['duration']['value'], ))

    except KeyError, e:
        print "Some data is missing from row {}, got {}".format(row, e)
        pass # Move on to next row

相关问题 更多 >