Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Geopy进行地理定位失败,M:TypeError:';非类型';对象不可下标_Python_Nonetype_Geopy_Nominatim - Fatal编程技术网

Python 使用Geopy进行地理定位失败,M:TypeError:';非类型';对象不可下标

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

我正在尝试使用模块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(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

实际上我是同时做的。我真丢脸。