Вот фрагмент моего кода до сих порSplit Упорядоченный словарь в переменные в Python
import osmapi
import geopy
from geopy.geocoders import Nominatim
import requests
import xmltodict
geolocator = Nominatim()
location = geolocator.reverse("{}, {}".format(lat, lon))
dict = location.raw
osmid = dict.get('osm_id', 'default_value_if_null_here')
osmtype = dict.get('osm_type', 'default_value_if_null_here')
if(osmtype == 'node'):
node_info = requests.get("http://api.openstreetmap.org/api/0.6/node/"+ osmid)
d = xmltodict.parse(node_info.content)
amenity_tags = [tag for tag in d['osm']['node']['tag'] if tag['@k'] == 'amenity']
if len(amenity_tags) != 0:
print amenity_tags
Я в принципе хочу, чтобы проверить, если местоположение, соответствующий узлу на OpenStreetMap, и если да, то проверить, если это удобства и какой тип удобств. Выход образца следующий:
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'cafe')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'fast_food')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'bicycle_parking')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'atm')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'restaurant')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'restaurant')])]
[OrderedDict([(u'@k', u'amenity'), (u'@v', u'theatre')])]
Мой вопрос в том, как бы я разделил этот упорядоченный словарь. Результат, на который я надеюсь, состоит в том, чтобы иметь переменную «amenity_type» = кафе, ресторан, театр и т. Д. ... Надеюсь, я объяснил, что мой вопрос достаточно. Я новичок в python, поэтому любая помощь будет оценена, спасибо!
, так что вам нужен новый словарь из значений предыдущего? – Copperfield
«переменная« amenity_type »= кафе, ресторан, театр и т. Д.» => это не четкое описание. Пожалуйста, опубликуйте ожидаемый результат для приведенного выше ввода образца ... –
@brunodesthuilliers \t Я пробовал 'amenity_type = (amenity_tags [' @ v '])' например, я просто хочу иметь переменную amenity_type, так что если я чтобы напечатать amenity_type, он просто напечатал бы «ресторан», например – RyanKilkelly