2014-08-28 143 views
-2

地址我有变量地址字符串像这样:提取房子地址城市和zip从Python中

1234 Maple Ave. Queens, NY 11011 

此格式字符串从变化到字符串,所以我可以用简单的字符串解析/分割。 有没有什么办法可以连接到谷歌地图或其他api,它会查找地址并分别给我所有的地址单元?

理想我应该能够做这样的事情:

>> address = "1234 Maple Ave. Queens, NY 11011" 
>> data = maps_api.extract_data(address) 
>> print data.house_number 
>> 1234 Maple Ave. 
>> print data.city 
>> Queens 
>> print data.state 
>> NY 
>> print data.zip 
>> 11011 

回答

2

这对于googlemaps api似乎完美。

from googlemaps import GoogleMaps 
gmaps = GoogleMaps(api_key) 
address = "1234 Maple Ave. Queens, NY 11011" 

result = gmaps.geocode(address) 
placemark = result['Placemark'][0] 
details = placemark['AddressDetails']['Country']['AdministrativeArea'] 

city = details['Locality']['LocalityName'] 
state = details['AdministrativeAreaName'] 
zip = details['Locality']['PostalCode']['PostalCodeNumber'] 

尽管你需要一个API密钥。

替代似乎有pygeocoder

相关问题