我试图从api中提取数据。我想安排此任务,使其每半小时请求一次api,并将结果附加到数据帧。然而,api响应是一个嵌套字典,因此我必须进行一些解析。我读到应该使用列表而不是数据帧来将数据附加到函数中。到目前为止,我的代码如下所示:
import pandas as pd
import requests
from pandas.io.json import json_normalize
import schedule
import time
resp = requests.get(url).json()
df=[]
def fetch_here():
global df
r2=json_normalize(resp,record_path=["RWS","RW"])
r=json_normalize(resp["RWS"],record_path=["RW","FIS","FI"])
r1=json_normalize(resp["RWS"],record_path=["RW","FIS","FI","CF"])
workFrame = pd.concat([r, r1], axis=1, sort=False)
workFrame = workFrame.drop(['SHP',"CF","SSS.SS"], 1)
time=r2["PBT"]
workFrame["Time"]=time
workFrame=workFrame.fillna(method="ffill")
df=df.append(workFrame)
#Time
schedule.every(30).minutes.do(fetch_here)
while True:
schedule.run_pending()
time.sleep(1)
但是我得到了错误:UnboundLocalError: local variable 'df' referenced before assignment
。
我想最好将解析结果存储为一个列表,然后追加?
但我不知道如何将json规范化为列表。
希望有人能帮忙。谢谢
目前没有回答
相关问题 更多 >
编程相关推荐