我正在使用2个不同的库并通过它们运行地址。首先,我使用geopy来清理和地理编码地址。然后我通过pygeocoder运行地址,看看输出是否是一个有效的地址。如果输出有效,我将地址附加到列表中,稍后我将返回该列表。如果没有,我附加“无法清理”(这是一个烧瓶应用程序)。
即使地址有效,并且pygeocoder的valid_address函数返回true,地址也不会因某种原因被附加到列表中。每次都附加“无法清理”。
这是我的代码:
if g.geocode(address).valid_address:
cleaned.append((str(address) + ", " + str(zipcode.lstrip()) +
", " + str(clean.latitude) + ", " + str(clean.longitude)) + '<br>')
success += 1
else:
cleaned.append('Can not be cleaned <br>')
fail += 1
except AttributeError:
cleaned.append('Can not be cleaned <br>')
fail += 1
except ValueError:
cleaned.append('Can not be cleaned <br>')
fail += 1
except GeocoderTimedOut as e:
cleaned.append('Can not be cleaned <br>')
fail += 1
你们有什么人认为我做错了?
答案 0 :(得分:0)
解决了我的问题。
我没有给pygeocoder足够的信息。我的地址是街道号街道名称的格式。通过将城市附加到地址的末尾然后验证它我解决了问题。
不幸的是,pygeocoder通过谷歌地图工作,谷歌地图的请求限制相对较低。