我正在使用API提取json文件/ python字典。当我尝试将其带入熊猫数据框时,我遇到了问题
我正在使用python请求库通过嵌套在requests.get().text
方法中的json.loads()
从地址获取字典。
我尝试了以下方法:
#Request_data
jsonfile = json.loads(requests.get(address).text)
df=json_normalize(jsonfile,record_path='history',meta['open','close','high','low','volume'],errors='ignore')
df=json_normalize(jsonfile,meta['open','close','high','low','volume'],errors='ignore')
当我尝试method1时,我得到一个表,其中的日期在列中,并以开,关,高,低和成交量作为列标题,但是单元格中的值为NaN
当我尝试method2时,我得到一行和很多列,每个日期都有一个打开,关闭,高,低和成交量列。
答案 0 :(得分:0)
要理解您的数据并不容易,但是我建议您可以通过迭代json数据来创建每一列。您可以在for循环中检查NaN的来源。
例如:
df = pd.DataFrame()
col_1, col_2 = [], []
for element in jsonfile:
col_1.append(element['col_1'])
col_2.append(element['col_2'])
df['col_1'] = col_1
df['col_2'] = col_2
希望这可以为您提供帮助。
答案 1 :(得分:0)
@thisray感谢您抽出宝贵的时间回答。感激。我想出了这个答案,它可以解决问题,让我知道您的想法。
jsonfile = requests.get(URL)
fin_dict = jsonfile.json()
fin_history_dict = fin_dict['history']
historic_data = list(fin_history_dict.values())
df=pd.DataFrame(data = historic_data,index=fin_dict['history'])