1

我正在尝试在此位置访问 Atlas Observatory of Economic Complexity API:http: //atlas.media.mit.edu/about/api/data/

使用以下代码

import pandas as pd
import numpy as np
import matplotlib as mpl
from urllib2 import urlopen
import csv as csv
import json


url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
mydata=open(urllib2.urlopen(url))
response = json.loads(mydata)

我收到以下错误

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-38-fbe696d9098d> in <module>()
      8 
      9 url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
---> 10 mydata=open(urlopen(url))
     11 response = json.loads(mydata)
     12 

TypeError: coercing to Unicode: need string or buffer, instance found

我不熟悉通过 python 从 API 访问数据,所以我可能缺少一些简单的东西。目标是获取贸易数据并将其放入熊猫数据框中。作为奖励,如果有人有任何在 python 中使用 API 的良好资源,请告诉我。

4

1 回答 1

4

我建议使用http://docs.python-requests.org/en/latest/requests。它可以通过 pip 安装,并且是建立在 urllib2 之上的非常干净的界面。

import requests
url = "http://atlas.media.mit.edu/hs/export/2010/show/all/all/"
response = requests.get(url)
mydata = response.text
于 2014-09-30T02:58:40.113 回答