Я использую клиент Python google maps для получения данных геокодирования. API возвращает список, который выглядит как список списков и диктов. Вот пример одного результата.
[[{'address_components': [{'long_name': 'Liverpool',
'short_name': 'Liverpool',
'types': ['locality', 'political']},
{'long_name': 'Merseyside',
'short_name': 'Merseyside',
'types': ['administrative_area_level_2', 'political']},
{'long_name': 'England',
'short_name': 'England',
'types': ['administrative_area_level_1', 'political']},
{'long_name': 'United Kingdom',
'short_name': 'GB',
'types': ['country', 'political']}]
Это продолжается некоторое время, а затем новый список начинается с address_components, немного вниз. В середине каждого результата есть 'location':{'lat':xxx, 'lng':xxx},
'location': {'lat': 53.4083714, 'lng': -2.9915726},
'location_type': 'APPROXIMATE',
'viewport': {'northeast': {'lat': 53.503907, 'lng': -2.8129382},
'southwest': {'lat': 53.3204478, 'lng': -3.0191793}}}
Я пытаюсь получить это значение для 'lat'
и lng
.
Я попытался разобрать это несколькими способами. Например:
example = [[{'address_components': [{'long_name': 'Liverpool',
'short_name': 'Liverpool',
'types': ['locality', 'political']},
{'long_name': 'Merseyside',
'short_name': 'Merseyside',
'types': ['administrative_area_level_2', 'political']},
{'long_name': 'England',
'short_name': 'England',
'types': ['administrative_area_level_1', 'political']},
{'long_name': 'United Kingdom',
'short_name': 'GB',
'types': ['country', 'political']}]
Я попытался разобрать так:
for x in example[i]:
for t in x:
print(t)
это возвращает:
address_components
formatted_address
geometry
place_id
types
Теперь, мои lat
и lng
находятся в этом geometry
, вот так:
'geometry': {'bounds': {'northeast': {'lat': 53.503907, 'lng': -2.8129382},
'southwest': {'lat': 53.3204478, 'lng': -3.0191793}}
Но если я попытаюсь расширить цикл for, чтобы он выглядел так:
for x in source_ll[i]:
for t in x:
for z in t:
print(z)
выводит:
a
d
d
r
e
s
s
_
c
o
m
p
o
n
e
n
t
s
f
o
r
m
a
и так далее. Которые являются строками, составляющими то, что было возвращено с for t in x
.
Обновление
Я попробовал:
for x in example[i]:
for t in x:
for value in ['geometry']:
print(value)
Но это возвращается
geometry
n раз.
Я просто хочу получить 53.4083714
и -2.9915726
.
Я понимаю, что мне нужна твоя помощь !!