2016-07-13 6 views
0

Я пытаюсь напечатать конкретный код страны из пары lat/long, используя GeoPy. Он может возвращать адрес, широту, долготу или весь JSON в качестве dict, но не отдельные компоненты.Печать названия страны из Geopy

Есть ли способ, которым я могу получить доступ только к стране и вернуть ее? Вот код, я работаю, что выводит необработанный ответ от Geolocator:

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

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

Вот выход я получаю:

{ «лицензия»: «Данные © OpenStreetMap авторы, ODbL 1,0. http://www.openstreetmap.org/copyright ',' адрес ': {' house_number ':' 1600 ',' city ':' Washington ',' country_code ':' us ',' postcode ':' 20500 ',' attraction ':' White House ',' окрестности ':' Монументальное ядро ​​',' страна ':' Соединенные Штаты Америки ',' государство ':' округ Колумбия ',' пешеход ':' Пенсильванская авеню Северо-Запад '},' display_name ':' Белый дом, 1600, Пенсильванский авеню Северо-Запад, Монументальное ядро, Вашингтон, округ Колумбия, 20500, Соединенные Штаты Америки ',' lat ': '38 .8976989', 'boundingbox': ['38 .8974898 ', '38 .897911', '-77.0368539', '-77.0362521 «], 'osm_id': '238241022', 'place_id': '2611224231', 'osm_type': 'путь', '': LON '-77.036553192281'}

ответ

1

Просто перейдите по Dict:

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