Web API

许多网站都有一些通过JSON或其他格式提供数据的公共API。通过Python访问这些API的办法有不少。 一个简单易用的办法(推荐)是requests包(http://docs.python-requests.org
为了搜索最新的30个GitHub上的pandas主题,我们可以发一个HTTP GET请求,使用requests扩展库

  1. In [47]: import requests
  2. In [48]: url = 'https://api.github.com/repos/pandas-dev/pandas/issues'
  3. In [49]: res = requests.get(url)
  4. In [50]: res
  5. Out[50]: <Response [200]>
  6. In [53]: data[0]['title']
  7. Out[53]: 'BUG: rolling aggregations not checking monotonic index when grouping by'

data 中的每个元素都是一个包含所有GitHub主题页数据(不包含评论)的字典。我们可以直接传递数据到DataFrame,并提取感兴趣的字段

  1. In [55]: issues = pd.DataFrame(data, columns=['number', 'title', 'labels', 'state'])
  2. In [56]: issues
  3. Out[56]:
  4. number title labels state
  5. 0 34617 BUG: rolling aggregations not checking monoton... [{'id': 76811, 'node_id': 'MDU6TGFiZWw3NjgxMQ=... open
  6. 1 34616 Improve document for **kwargs argument of pand... [] open
  7. 2 34615 ...
  8. 29 34585 REF: ensure we have offset objects in plotting... [] open

数据库交互

SQLAlchemy项目是一个流行的Python SQL工具, 它抽象出了SQL数据库中的许多常见差异。 pandas有一个read_ssql 函数,可以让你轻松的从SQLAlchemy连接读取数据。这里,我们用SQLAlchemy连接SQLite数据库, 并从之前创建的表读取数据 (暂时害没有进行尝试,故将书上的原图粘在这,以便后用)
image.png