Python 使用Geopy进行地理定位失败,M:TypeError:';非类型';对象不可下标
我正在尝试使用模块Geopy,函数namignim对地址列表(包含在CSV文件中)进行地理定位。 这是我的密码:Python 使用Geopy进行地理定位失败,M:TypeError:';非类型';对象不可下标,python,nonetype,geopy,nominatim,Python,Nonetype,Geopy,Nominatim,我正在尝试使用模块Geopy,函数namignim对地址列表(包含在CSV文件中)进行地理定位。 这是我的密码: import pandas as pd from geopy.geocoders import Nominatim df = pd.read_csv('incidenti genova 3.csv', delimiter=';', error_bad_lines=False) indirizzi = df.descrizione_strada nom=Nominatim(us
import pandas as pd
from geopy.geocoders import Nominatim
df = pd.read_csv('incidenti genova 3.csv', delimiter=';', error_bad_lines=False)
indirizzi = df.descrizione_strada
nom=Nominatim(user_agent="my-application")
coordinate=[]
for element in indirizzi:
print(element)
target1=nom.geocode(element)[1]
print(target1)
coordinate.append(target1)
当我运行它时,它会打印我列表的第一个地址,然后我得到以下错误:
TypeError回溯(最近的调用
最后)在()
13打印(元素)
14
--->15 target1=名称地理编码(元素)[1]
16打印(target1)
17坐标追加(target1)
TypeError:“非类型”对象不可下标 我发现这意味着它无法地理定位地址,因为地址不够完整。 我想要的是代码跳过列表中无法地理定位的元素,继续打印其他元素
我该怎么做呢?您缺少了一个非常重要的编码基础,即
尝试。。。除
语句外
你可能想做这样的事情:
for element in indirizzi:
try:
print(element)
target1=nom.geocode(element)[1]
print(target1)
coordinate.append(target1)
except NoneType:
pass
实际上我是同时做的。我真丢脸。