Python中的反向地理编码

Python中的反向地理编码,python,for-loop,zipcode,Python,For Loop,Zipcode,我需要帮助做以下事情 我有一个纬度和经度值列表(因此有两列;一列称为“lat”,另一列称为“long”),我希望传递给一个函数以获取邮政编码(也称为反向地理编码)。我遇到的问题是for循环。到目前为止,我得到的是: from uszipcode import ZipcodeSearchEngine import pandas as pd import numpy as np search = ZipcodeSearchEngine() res = [] df = pd.read_csv('LA

我需要帮助做以下事情

我有一个纬度和经度值列表(因此有两列;一列称为“lat”,另一列称为“long”),我希望传递给一个函数以获取邮政编码(也称为反向地理编码)。我遇到的问题是for循环。到目前为止,我得到的是:

from uszipcode import ZipcodeSearchEngine
import pandas as pd
import numpy as np

search = ZipcodeSearchEngine()
res = []
df = pd.read_csv('LATLONG.csv')
for index, row in df.iterrows():
    res = search.by_coordinate(row["lat"], row["long"], radius=2, returns=1)
当我在终端中运行以下操作时,它不会给我任何结果。我最终不得不停止作业

如果使用实际数字运行脚本,则在执行以下操作时,脚本确实有效:

for zipcode in res:
    print(zipcode.Zipcode)
总的来说,我的想法是,我可以从数据帧传递所有latlong值,并获得这些值的邮政编码数组/列表,然后将其导出回CSV文件。任何帮助都将不胜感激

from uszipcode import SearchEngine, SimpleZipcode, Zipcode
search = SearchEngine()
for i in range(len(df)):
    result = search.by_coordinates(df.loc[i, 'lat'], df.loc[i, 'long'], radius=3)
    df.loc[i, 'zipcode'] = result[0].zipcode
我知道这是一篇老文章,但我最终使用了“谷歌地图反向地理编码API”而不是“uszipcode”包


当我使用“uszipcode”包时,我只能拉出“zipcodes”并使用上面的代码片段将其添加回df。我注意到与您的代码不同的是,您使用的是“returns”“search.by_coordinates”中的参数。我没有,只是拉了列表上的第一个zipcode或前2个左右。(你知道我为什么最终为谷歌付费了)

将其分解。
search.by_Coordination
对任何坐标都有效吗?
row[“lat”]
格式/编码/比例/单位/搜索所需的任何内容?抱歉,我知道它有点长。
搜索。按坐标进行搜索。
确实有效。我已经尝试过按列表中的坐标进行硬编码。我似乎无法使for循环正常工作。我的列表中有大约100k个值,因此我不确定这是否是花费时间的原因运行脚本。这是我硬编码(直接从我的csv文件)时的一个示例:
搜索。按坐标(42.4049,-82.923,radius=2,returns=5)
然后我在res中运行zipcode时得到以下结果:print(zipcode.zipcode){“城市”:“底特律”,“密度”:7755.4973821989515,“HouseOfUnits”:19244,“陆地面积”:5.73,“纬度”:42.407526999999,“经度”:-82.9447782,“内边界纬度”:42.43600089999996,“内边界经度”:-82.9138969,“人口”:44439,“西南边界纬度”:42.387468899999,“西南边界经度”:-82.965035899998,“州”:“米”,“总工资”:434255347.0,“水域”:0.0,“富人”“:9771.94237044038,“Zipcode”:“48224”,“ZipcodeType”:“Standard”}这就是我拉“Zipcode”的地方。所以它可能很慢?每次通过
for
循环打印一些东西。好的,也许是这样。让我再次运行它,耐心等待。谢谢你的帮助。