我要确保我能把lat和lng送到正确的城市。例如澳大利亚有悉尼,加拿大有悉尼。这个很好用
for d in listofobjs:
location = geolocator.geocode(d['city'])
d2 = {
'username': d['username'],
'latitude': location.latitude,
'longitude': location.longitude
}
listofobjs2.append(d2)
但是如果我尝试这样的定位,就会出错
^{pr2}$当我试图从位置读取纬度时,我得到一个错误
AttributeError: 'list' object has no attribute 'latitude'
有没有可能把城市和国家都传给地理编码?在
文件中指出地理定位器.geocode可以返回0、1或更多值。 该方法可以返回一个列表,因此当您尝试将其作为单个结构元素进行访问时,会出现错误消息。 或者迭代列表并根据需要附加到listofobjects2。在
你不能确定只得到1个位置匹配。但为什么要传递两个参数呢?我会将它们组合成一个字符串,如docs示例中所示:
“一些地址在纽约”。所以如果你这样提出你的要求:
d[“城市”]+“”+d[“国家”]
它将与示例匹配得更好
https://geopy.readthedocs.io/en/1.10.0/
相关问题 更多 >
编程相关推荐