如何从地址获取经纬度

问题描述

我有一个像这样地址的数据框:

codePostalEtablissement libelleCommuneEtablissement Adresses
    0   67000   STRASBOURG  2 ALLEE DE LA ROBERTSAU,67000
    1   67000   STRASBOURG  17 RUE DU VIEUX marcHE AUX GRAINS,67000,STRASBOURG
    2   67000   STRASBOURG  11 RUE DE BERNE,67000
    3   67000   STRASBOURG  11 PLACE DES HALLES,67000
    4   67000   STRASBOURG  28 AVENUE DES VOSGES,67000
    5   67000   STRASBOURG  14 RUE MASSENET,67000
    6   67000   STRASBOURG  43 RUE ERCKMANN CHATRIAN,67000
    7   67000   STRASBOURG  17 RUE DE VERDUN,67000
    8   67000   STRASBOURG  1 RUE DU TRAVAIL,67000
    9   67000   STRASBOURG  1 RUE SAINT ARBOGAST,67000
    10  67000   STRASBOURG   RUE JACQUES PEIROTES,67000
    11  67000   STRASBOURG  6 RUE SAINT MAURICE,67000
    12  67000   STRASBOURG  6 RUE SAINT GOTHARD,67000
    13  67000   STRASBOURG  1 RUE PAUL COLLOMP,67000
    14  67000   STRASBOURG  16 RUE DE SOLEURE,67000
    15  67000   STRASBOURG   RUE SAINT GOTHARD,67000
    16  67000   STRASBOURG  1 RUE SCHUMANN,67000
    17  67000   STRASBOURG  17 RUE BEETHOVEN,67000
    18  67000   STRASBOURG  21 RUE SLEIDAN,67000
    19  67000   STRASBOURG  11 RUE D INGWILLER,67000
    20  67000   STRASBOURG  5 BOULEVARD DE LA DORDOGNE,67000

我想从这些地址获得经纬度。我已经完成了以下代码

df['Latitude'] = None
df['Longitude'] = None
locator = Nominatim(user_agent="my_user_agent")
for i in range(len(df)):
    location = locator.geocode(df.loc[i,'Adresses'])
    df.loc[i,'Latitude'] = format(location.latitude)
    df.loc[i,'Longitude'] = format(location.longitude)

但它给了我以下错误

df['Latitude'] = format(location.latitude)
AttributeError: 'nonetype' object has no attribute 'latitude'

这是由于请求无法识别第 19 行。有没有其他方法可以快速免费地做到这一点?

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...