繁体   English   中英

从字符串中提取街道地址

[英]Extract street address from a string

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

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

正如您已经说过的那样,地址可以有多种格式。 如果考虑其他国家/地区的地址,实际情况甚至更糟。 因此,没有,没有真正好方法来解析和清理此类地址。 您想要包括尽可能多的格式的区域越大,它变得越复杂。

如果您仍然要将地址发送到Google地图,则只需发送原始格式即可。 Google有足够的数据来提取更有用的部分并从中获得最大的收益。 无论如何,当您将其发送到Google时,您都可以首先将其完成。

地址通常遵循一种格式,可以使用正则表达式加以利用。 这很棘手,所以幸运的是,这里有一个很棒的库可以使您轻松使用。

pip install commonregex

然后

from commonregex import CommonRegex
parsed_text = CommonRegex("123 Your Street")
print(parsed_text.street_addresses)
a = re.split(r"[\s\-:\\/_,]", "string address here !")
a1 = ""
for i in a:
    if re.findall(r"[^\W]",i):
        a1 += i + " " 
print(a1)

尝试将其发送给Google。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM