从Geopy打印国家/地区名称

时间:2016-07-13 14:22:03

标签: python python-2.7 dictionary geocoding geopy

我正在尝试使用GeoPy从纬度/经度对打印特定的国家/地区代码。它可以将地址,纬度,经度或整个JSON作为dict返回,但不能返回单个组件。

有没有办法只能访问国家/地区部分并返回?这是我工作的代码,它输出geolocator的原始响应:

from geopy.geocoders import Nominatim
geolocator = Nominatim()
Lat = input('Lat: ')
Long = input('Long: ')

location = geolocator.reverse([Lat, Long])
print(location.raw)

这是我收到的输出:

  

{'license':'Data©OpenStreetMap contributors,ODbL 1.0。 http://www.openstreetmap.org/copyright','地址':{'house_number':'1600','city':'Washington','country_code':'我们','邮政编码':'20500','吸引力':'白色House','neighborhood':'Monumental Core','country':'United States of America','state':'哥伦比亚特区','行人':'宾夕法尼亚大道西北','display_name':'白House,1600,Pennsylvania Avenue Northwest,Monumental Core,Washington,Columbia District,20500,United States of America','lat':'38 .8976989','boundingbox':['38 .8974898','38 .897911',' - 77.0368539' ,' - 77.0362521'],'osm_id':'238241022','place_id':'2611224231','osm_type':'way','lon':' - 77.036553192281'}

1 个答案:

答案 0 :(得分:1)

只需浏览字典:

>>> print(location.raw['address']['country'])
United States of America
>>> print(location.raw['address']['country_code'])
us