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

2024-05-29 11:55:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我可能会使用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, New York, NY 10001, 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) 

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


Tags: 方法列表newforscanemail地址单词

热门问题