有没有办法使用python从字符串(比如电子邮件)中提取街道地址?地址不是以设定格式提供的。它可以没有州,邮政编码,城市,但我可以猜测并提供这些参数,如果它们丢失。此外,地址可以由两条街道的角落表示。提取地址后,我想将其发送到Google地图或其他类似服务,以获取真实的格式化地址。
它不需要100%准确,但是有没有库可以做到这一点?如果它不存在,我应该如何开始?
答案 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)
尝试将此邮件发送给谷歌。