我正在尝试从usaddress
访问一个数据元素。例如,PlaceName
是地址的城市字段。 usaddress
返回有序字典。我只是想从有序字典中提取一个值。
import usaddress
temp = usaddress.parse("ZENIA, CA 95595")
print(temp)
try:
print(temp.get['PlaceName'])
except AttributeError:
print("ERROR")
结果:
[('ZENIA,', 'PlaceName'), ('CA', 'StateName'), ('95595', 'ZipCode')]
ERROR
我只想要ZENIA
。
答案 0 :(得分:0)
如果您以列表形式获取数据。我认为您可以创建一个简单的函数来提取信息,如下所示:
import re
data = [('ZENIA,', 'PlaceName'), ('CA', 'StateName'), ('95595', 'ZipCode')]
def get_place_name(data):
flag = False
for info in data:
if 'PlaceName' in info:
return re.sub(r"[^a-zA-Z0-9]+", '', info[0])
return flag
结果:
res = get_place_name(data)
# 'ZENIA'
答案 1 :(得分:0)
import usaddress
addr = "ZENIA, CA 95595"
parsed_addr = usaddress.tag(addr)
print(parsed_addr)
try:
place_name = parsed_addr[0]['PlaceName']
print(place_name)
except AttributeError as e:
print(e)
答案 2 :(得分:0)
尝试一下:
import usaddress
temp = dict(usaddress.tag('ZENIA, CA 95595')[0])
print(temp['PlaceName'])
您的输出将是:
ZENIA
要打印所有内容,请尝试:
print(temp)
输出为:
{'PlaceName': 'ZENIA', 'StateName': 'CA', 'ZipCode': '95595'}