使用两个索引将JSON转换为数据框

时间:2020-02-22 20:47:57

标签: json python-3.x pandas dataframe

我正在尝试将JSON格式提供的一些财务数据转换为数据框中的一行。但是,此JSON的数据具有两个索引还是嵌套索引?我不确定如何适当地描述数据。

所以下面是我用来提取财务数据的代码。

import requests
import pandas as pd
stock ='AAPL'
BS = requests.get(f"https://financialmodelingprep.com/api/v3/financials/balance-sheet-statement/{stock}?period=quarter")
data = BS.json()

输出看起来像这样

{'symbol': 'AAPL',
 'financials': [{'date': '2019-12-28',
   'Cash and cash equivalents': '39771000000.0',
   'Short-term investments': '67391000000.0',
   'Cash and short-term investments': '1.07162e+11',
   'Receivables': '20970000000.0',...}

我尝试了以下

df = pd.DataFrame.from_dict(data, orient='index')

df = pd.DataFrame.from_dict(json_normalize(data), orient='columns')

都没有得到我想要的东西。我不知何故需要摆脱“财务”问题。我想要数据框 看起来像: enter image description here

我该怎么做?

1 个答案:

答案 0 :(得分:3)

因此,在创建数据框时只需使用'financials'的字典即可。

import requests
import pandas as pd
stock ='AAPL'
BS = requests.get(f"https://financialmodelingprep.com/api/v3/financials/balance-sheet-statement/{stock}?period=quarter")
data = BS.json()
df = pd.DataFrame.from_dict(data['financials'])
print(df)