我正在尝试从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

最佳答案

如果您以列表形式获取数据。我认为您可以创建一个简单的函数来提取信息,如下所示:

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'

关于python - 如何使用usaddress提取单个数据元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57780863/

10-12 23:28