我正在通过其api提取FRED数据,并且返回了复杂的JSON。此数据中包含负债数据。在JSON中,是一个嵌套的“ observations”键,该键内是带有“ date”和“ value”键的字典列表。我需要日期和值作为列标题。日期也可以是索引。
要获取数据,将需要一个免费的api密钥,该密钥在以下位置找到:https://fred.stlouisfed.org/。只需转到我的帐户并按照说明进行操作即可。
有关提取数据的代码,请参见下文。
import pandas as pd
import time
import urllib
import requests
from fred_api import fred_api #config file with my personal api
networth_endoint = r'https://api.stlouisfed.org/fred/series/observations?series_id=BOGZ1FL102090005A&api_key={}&file_type=json'.format(api)
content = requests.get(url = networth_endoint)
data = content.json()
data
如果您不想经历麻烦,下面是返回内容的摘要:
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'observation_start': '1600-01-01',
'observation_end': '9999-12-31',
'units': 'lin',
'output_type': 1,
'file_type': 'json',
'order_by': 'observation_date',
'sort_order': 'asc',
'count': 74,
'offset': 0,
'limit': 100000,
'observations': [{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1945-01-01',
'value': '215967.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1946-01-01',
'value': '232012.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1947-01-01',
'value': '269729.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1948-01-01',
'value': '294148.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1949-01-01',
'value': '304352.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '1950-01-01',
'value': '328550.0'}...
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '2017-01-01',
'value': '15479906.0'},
{'realtime_start': '2020-03-03',
'realtime_end': '2020-03-03',
'date': '2018-01-01',
'value': '16491618.0'}]}
这是从1945年到最后报告的季度的一个。实际json由...
有人能弄清楚如何从json中提取每个日期和值并使用它制作数据框吗?