python - 使用纬度/经度属性查找地址(Python & geopy)
问题描述
我一直在尝试解决一个特定问题 - 从预定义列表中提取位置/地址。该列表表示地址肯定是的电子邮件。我还没有找到任何有效的方法来做到这一点,但是,我能够提出一些想法。
我可能会使用 for 循环和状态来浏览消息,单词序列是否具有经度/纬度属性。如果不是,则删除该单词,如果是,则该单词将保留在新列表中,并且循环将遍历下一个单词。
这样我就可以区分哪些词是地址,并且我肯定可以提取地址。您认为这种方式可能有效吗?如果没有,是否有更复杂/更好的方法如何从字符串中提取地址?
例如:
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)
该程序不断打印空列表,我不知道为什么。谢谢你,我很感激任何帮助:)
解决方案
推荐阅读
- laravel - 登录 Laravel 的 Spatie laravel/permissions 包后如何重定向到不同的仪表板
- c# - 如何更改 Xamarin 导航标题中所有工具栏项的字体
- r - 计算 R 中每一天的对数差异 为每一天的第一次观察产生 NA
- javascript - iOS 13:全屏模式下的 webapp 在启动时不会刷新
- apache-spark - 出现“容器因超出内存限制而被 YARN 杀死”的异常情况。
- java - 由于 org.jboss.vfs.spi.JavaZipFileSystem 的实例数量更多而导致内存泄漏
- google-play - 使用 Fastlane 上传 Unreal 应用程序时出现“Release 不符合 Play 64 位要求”
- gitlab - 为什么我的 gitlab 管道因 rsync 错误而失败
- python - 二维数组和一维数组的点积不同于矩阵和一维数组
- regex - 如何在找到某个字符串后插入文本?