从字符串中提取街道地址

时间:2014-02-23 23:14:26

标签: python string text-extraction

有没有办法使用python从字符串(比如电子邮件)中提取街道地址?地址不是以设定格式提供的。它可以没有州,邮政编码,城市,但我可以猜测并提供这些参数,如果它们丢失。此外,地址可以由两条街道的角落表示。提取地址后,我想将其发送到Google地图或其他类似服务,以获取真实的格式化地址。

它不需要100%准确,但是有没有库可以做到这一点?如果它不存在,我应该如何开始?

3 个答案:

答案 0 :(得分:2)

正如您自己所说,地址可以有多种格式。如果考虑其他国家的地址,实际情况实际上会更糟。所以不,没有一个很好的方法来解析和清理这些地址。区域区域越大,您想要包含的格式越多,它就越复杂。

如果您想将地址发送到Google地图,请发送原始格式。谷歌有足够的数据来提取更有用的部分,并尽可能地利用它。无论如何,当您将其发送给Google时,您可以首先执行此操作。

答案 1 :(得分:1)

地址通常遵循一种格式,可以使用正则表达式来利用。这很棘手,幸运的是有一个很棒的图书馆让你更容易。

pip install commonregex

然后

from commonregex import CommonRegex
parsed_text = CommonRegex("123 Your Street")
print(parsed_text.street_addresses)

答案 2 :(得分:0)

a = re.split(r"[\s\-:\\/_,]", "string address here !")
a1 = ""
for i in a:
    if re.findall(r"[^\W]",i):
        a1 += i + " " 
print(a1)

尝试将此邮件发送给谷歌。