Python request API



我正在尝试从NOAA API检索一些数据,但出现了一个错误,我无法解决

location=[]
def find_xy(Name, lat, long):
api = url+str(lat)+','+str(long)
r = requests.get(api).json()
x = r['properties']['gridX']
y = r['properties']['gridY']
xy=(Name, str(lat), str(long), x, y)
location.append(xy)
for i in dfgrid:
Name = dfgrid['Name']
lat =  dfgrid['Lat']
long =  dfgrid['Long']    
find_xy(Name,lat,long)

dfgrid中有一个lat和longs列表,我想循环浏览每个坐标,并获取NOAA API 中的gridX和gridY值

我可以用一个例子提取这些数据,但当我试图循环整个dfgrid时,我收到了以下错误

----------------------------------------------------------------------------KeyError Traceback(最近调用最后(3纬度=dfgrid[纬度]4长=dfgrid["长"]---->5 find_xy(名称、纬度、经度(

在find_xy(Name,lat,long(中3 api=url+str(lat(+','+str4 r=请求.get(api(.json((---->5 x=r["属性"]["ridX"]6 y=r["属性"]["ridY"]7 xy=(名称,str(lat(,str(long(,x,y(

KeyError:"properties">

解决了这个问题

dfgrid = pd.DataFrame(df,columns=['Name','Lat','Long'])
dfgrid['Lat']=dfgrid['Lat'].astype(str)
dfgrid['Long']=dfgrid['Long'].astype(str)
dfgrid['coordinate']= dfgrid['Lat']+","+dfgrid['Long']

我之前做的是添加Lat和Long,尽管我str((同时使用Lat和Long浮点。。。这导致API请求出现错误。仍然试图处理为什么str(Lat(+"str(Long(不起作用,但不管怎样,我找到了一个解决方案。

感谢每一位提供帮助的人。非常感谢。Mike

最新更新