根据布尔状态附加到列表时出错

Error appending to list according to state of bool

我正在使用 2 个不同的库并通过它们 运行 地址。首先,我使用 geopy 来清理和地理编码地址。然后我运行地址通过pygeocoder查看输出是否是有效地址。如果输出有效,我会将地址附加到一个列表中,稍后我会返回该列表。如果没有,我将附加 "Can not be cleaned
"(这是一个烧瓶应用程序)。

即使地址有效,并且 pygeocoder 的 valid_address 函数返回 true,由于某种原因该地址也没有被附加到列表中。它每次都附加 "Can not be cleaned
"。

这是我的代码:

if g.geocode(address).valid_address:
    cleaned.append((str(address) + ", " + str(zipcode.lstrip()) +
                        ", " + str(clean.latitude) + ", " + str(clean.longitude)) + '<br>')
    success += 1
else:
    cleaned.append('Can not be cleaned <br>')
        fail += 1
except AttributeError:
    cleaned.append('Can not be cleaned <br>')
    fail += 1
except ValueError:
    cleaned.append('Can not be cleaned <br>')
    fail += 1
except GeocoderTimedOut as e:
    cleaned.append('Can not be cleaned <br>')
    fail += 1

你们认为我做错了什么?

解决了我的问题。

我没有向 pygeocoder 提供足够的信息。我的地址采用街道编号街道名称的格式。通过将城市附加到地址的末尾然后验证它,我解决了问题。

不幸的是,pygeocoder 通过 Google 地图工作,它的请求限制相对较低。