使用纬度/经度属性查找地址Python 和 geopy

问题描述

我一直在尝试解决一个特定问题 - 从预定义列表中提取位置/地址。该列表表示地址肯定所在的电子邮件消息。我还没有找到任何有效的方法来做到这一点,但是,我能够提出一些想法。

我可能会使用 for 循环和 state 来查看消息,无论单词序列是否具有经度/纬度属性。如果不是,该词将被删除,如果是,该词将保留在新列表中,并循环遍历下一个词。

这样我就可以区分哪些词是地址,我当然可以提取地址。你认为这种方式可能有效吗?如果没有,有没有更复杂/更好的方法来从字符串中提取地址?

例如:

email = "Hello,I am looking forward to your letter,please send it on 20 W 34th St,New York,NY 10001,USA"

我想提取

adress = "20 W 34th St,USA"

我有这段代码

email = email.split()
from geopy.geocoders import Nominatim
adress_scan = []
geolocator = Nominatim(user_agent = "sth",timeout = 10)

for i in adresa:
    adresa_scan.append(i)
    location = geolocator.geocode(str(adresa_scan))
    if hasattr(adresa_scan,'longitude') == False:
        adresa_scan.remove(i)   
print(adresa_scan) 

程序不断打印空列表,我不知道为什么。谢谢,我感谢您的帮助:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)