只能从JSON文件中提取一些数据

时间:2018-07-19 13:27:01

标签: json python-3.x dataframe

我正在从API('http://api.eia.gov/')导入JSON文件。以下三行非常适合将时间序列数据放入数据帧:

d = json.loads(requests.get(page).text)
df = pd.DataFrame(d['series'][0]['data'])
df = df.set_index(df[0])

我的问题是要提取与该字典末尾出现的数据无关的其他值/元素。这是我在终端中输入d时的一些输出。

In [72]: d
Out[72]: 
{'request': {'command': 'series', 'series_id': 'STEO.COPR_AG.M'},
 'series': [{'series_id': 'STEO.COPR_AG.M',
  'name': 'Crude Oil Production, Algeria, Monthly',
  'units': 'million barrels per day',
  'f': 'M',
  'copyright': 'None',
  'source': 'U.S. Energy Information Administration (EIA) - Short Term Energy 
             Outlook',
  'geography': 'DZA',
  'start': '199401',
  'end': '201806',
  'lastHistoricalPeriod': '201803',
  'updated': '2018-07-10T12:02:18-0400',
  'data': [['201806', 1.04],
   ['201805', 1.02],
   ['201804', 0.99],
   ['201803', 0.99], 

因此,使用上面的df给我时间序列的数据帧数据。但是我不知道如何获取其他一些变量-例如'name'或'lastHistoricalPeriod'

先谢谢了。

1 个答案:

答案 0 :(得分:0)

我知道了。
我还需要包括系列...不确定我为什么要理解逻辑,但这是可行的。

In [90]: x = d['series'][0]['name']
In [91]: print(x)
Crude Oil Production, Algeria, Monthly