世界银行API对熊猫DF

时间:2015-12-01 11:53:11

标签: python json pandas

我试图通过API链接将世界银行的API转换为pandas DF格式:http://api.worldbank.org/countries/indicators/6.0.GDP_growth?per_page=100&date=2000:2015&format=json

页面响应如下:

  

[{"页面":1,"页面" 147" per_page":" 2""总& #34; 294},[{"指示器" {" ID":" 6.0.GDP_growth""值":&# 34; GDP   增长(年度%)"},"国家":{" id":" L5","价值":&# 34;斯   区域"}"值":空,"十进制":" 0""日期":" 2001&# 34;},{"指示器" {" ID":" 6.0.GDP_growth""值":" GDP   增长(年度%)"},"国家":{" id":" L5","价值":&# 34;斯   区域"}"值":空,"十进制":" 0""日期":" 2000&# 34;}]]

我试图获得类似于以下的数据框:

Out[253]:
Country Name    GDP_growth
0   Afghanistan 14.43474129
1   Albania 1.623698601
2   Algeria 3.299991384
3   American Samoa  ..
4   Andorra -1.760010328

以下是我迄今为止所要求的命令:

from urllib2 import Request, urlopen
In [2]:

import json
In [3]:

from pandas.io.json import json_normalize
In [4]:

request = Request('http://api.worldbank.org/countries/indicators/6.0.GDP_growth?per_page=100&date=2000:2015&format=json')
In [5]:

response = urlopen(request)
In [6]:

elevations = response.read()

data = json.loads(elevations)

json_normalize(data['indicator'])
  

----------------------------------------------- ---------------------------- TypeError Traceback(最近一次调用   最后)in()   ----> 1 json_normalize(数据['指标'])

     

TypeError:list indices必须是整数,而不是str

希望在最后一行获得帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

data目前是一个列表。当你漂亮地打印它时,你会看到它好一点:

from pprint import pprint
pprint(data)

indicator字段的第一项是data[1][0]