回溯(最近一次调用最后一次):
文件“C:\Users\Penguin\workspace\geocode-nojansdatabase\src\geocode.py”,第 15 行,
就位,(lat, lng) = g.geocode(a)
文件“ C:\Python27\lib\site-packages\geopy-0.94.2-py2.7.egg\geopy\geocoders\google.py”,第 81 行,在地理编码中
返回 self.geocode_url(url,exact_one)
文件“C: \Python27\lib\site-packages\geopy-0.94.2-py2.7.egg\geopy\geocoders\google.py”,第 88 行,在 geocode_url
返回调度(页面,exact_one)
文件“C:\Python27\lib \site-packages\geopy-0.94.2-py2.7.egg\geopy\geocoders\google.py",第 111 行,在 parse_xml
"(Found %d.)" % len(places))
ValueError: 没有找到一个地标!(找到 3 个。)
当 geopy 遇到不喜欢的地址时,我的应用程序会终止。我想知道的是如何在 Python 中捕获异常并允许我的程序继续下一个条目。源代码如下:
import csv
from geopy import geocoders
import time
g = geocoders.Google()
spamReader = csv.reader(open('locations.csv', 'rb'), delimiter='\t', quotechar='|')
f = open("output.txt",'w')
for row in spamReader:
a = ', '.join(row)
#exactly_one = False
time.sleep(1)
place, (lat, lng) = g.geocode(a)
b = "\"" + str(place) + "\"" + "," + str(lat) + "," + str(lng) + "\n"
print b
f.write(b)