如何将城市和乡村传递给geocod

2024-09-30 01:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我要确保我能把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'

有没有可能把城市和国家都传给地理编码?在


Tags: incityforusernamelocationd2geocodelng
1条回答
网友
1楼 · 发布于 2024-09-30 01:30:38

文件中指出地理定位器.geocode可以返回0、1或更多值。 该方法可以返回一个列表,因此当您尝试将其作为单个结构元素进行访问时,会出现错误消息。 或者迭代列表并根据需要附加到listofobjects2。在

你不能确定只得到1个位置匹配。但为什么要传递两个参数呢?我会将它们组合成一个字符串,如docs示例中所示:

“一些地址在纽约”。所以如果你这样提出你的要求:

d[“城市”]+“”+d[“国家”]

它将与示例匹配得更好

https://geopy.readthedocs.io/en/1.10.0/

相关问题 更多 >

    热门问题