根据布尔状态附加到列表时出错
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 地图工作,它的请求限制相对较低。
我正在使用 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 地图工作,它的请求限制相对较低。