使用 geopy 给出的原始地址数据解析字典
Parsing a dictionary with raw address data given by geopy
我正在尝试获取地址列表的县名。为此,我使用 geopy 和原始方法将地址传递给 Google 地理编码 API。问题是通过字典解析以获取该数据块。
我需要 administrative_area_level_2 中的部分,但现在这是一个列表。我无法按列表中项目的顺序进行解析,因为所有地址的格式都不同。解析这个的最佳方法是什么?
import json
places = ['901 Main St Dallas, TX']
geolocator = GoogleV3(api_key='')
location = geolocator.geocode(places, language='en')
print location.raw['address_components']```
This is the result that I am getting:
[{u'long_name': u'Bank of America Plaza', u'types': [u'premise'], u'short_name': u'Bank of America Plaza'}, {u'long_name': u'901', u'types': [u'street_number'], u'short_name': u'901'}, {u'long_name': u'Main Street', u'types': [u'route'], u'short_name': u'Main St'}, {u'long_name': u'Downtown', u'types': [u'neighborhood', u'political'], u'short_name': u'Downtown'}, {u'long_name': u'Dallas', u'types': [u'locality', u'political'], u'short_name': u'Dallas'}, {u'long_name': u'Dallas County', u'types': [u'administrative_area_level_2', u'political'], u'short_name': u'Dallas County'}, {u'long_name': u'Texas', u'types': [u'administrative_area_level_1', u'political'], u'short_name': u'TX'}, {u'long_name': u'United States', u'types': [u'country', u'political'], u'short_name': u'US'}, {u'long_name': u'75202', u'types': [u'postal_code'], u'short_name': u'75202'}]
您可以像这样解析列表:
l = []
for i in c:
for k, v in i.items():
if k == 'types' and 'administrative_area_level_2' in v:
l.append(i['long_name'])
print(l)
我正在尝试获取地址列表的县名。为此,我使用 geopy 和原始方法将地址传递给 Google 地理编码 API。问题是通过字典解析以获取该数据块。
我需要 administrative_area_level_2 中的部分,但现在这是一个列表。我无法按列表中项目的顺序进行解析,因为所有地址的格式都不同。解析这个的最佳方法是什么?
import json
places = ['901 Main St Dallas, TX']
geolocator = GoogleV3(api_key='')
location = geolocator.geocode(places, language='en')
print location.raw['address_components']```
This is the result that I am getting:
[{u'long_name': u'Bank of America Plaza', u'types': [u'premise'], u'short_name': u'Bank of America Plaza'}, {u'long_name': u'901', u'types': [u'street_number'], u'short_name': u'901'}, {u'long_name': u'Main Street', u'types': [u'route'], u'short_name': u'Main St'}, {u'long_name': u'Downtown', u'types': [u'neighborhood', u'political'], u'short_name': u'Downtown'}, {u'long_name': u'Dallas', u'types': [u'locality', u'political'], u'short_name': u'Dallas'}, {u'long_name': u'Dallas County', u'types': [u'administrative_area_level_2', u'political'], u'short_name': u'Dallas County'}, {u'long_name': u'Texas', u'types': [u'administrative_area_level_1', u'political'], u'short_name': u'TX'}, {u'long_name': u'United States', u'types': [u'country', u'political'], u'short_name': u'US'}, {u'long_name': u'75202', u'types': [u'postal_code'], u'short_name': u'75202'}]
您可以像这样解析列表:
l = []
for i in c:
for k, v in i.items():
if k == 'types' and 'administrative_area_level_2' in v:
l.append(i['long_name'])
print(l)