API 与 JSON 简介

Python 数据导入进阶

Hugo Bowne-Anderson

Data Scientist at DataCamp

API

  • 应用程序编程接口(API)
  • 协议与例程
    • 构建并与软件应用交互

第 2 章 图 1.006

Python 数据导入进阶

API

  • 应用程序编程接口(API)
  • 协议与例程
    • 构建并与软件应用交互

第 2 章 图 1.007

Python 数据导入进阶

JSON

  • JavaScript 对象表示法

  • 服务器与浏览器的实时通信

  • Douglas Crockford 提出

  • 人类可读

第 2 章 图 1.013

Python 数据导入进阶

JSON

{'Actors': 'Samuel L. Jackson, Julianna Margulies, Nathan Phillips,
 Rachel Blanchard',
 'Awards': '3 wins & 7 nominations.',
 'Country': 'Germany, USA, Canada',
 'Director': 'David R. Ellis',
 'Genre': 'Action, Adventure, Crime',
 'Language': 'English',
 'Rated': 'R',
 'Released': '18 Aug 2006',
 'Runtime': '105 min',
 'Title': 'Snakes on a Plane',
 'Type': 'movie',
 'Writer': 'John Heffernan (screenplay), Sebastian Gutierrez (screenplay), 
 David Dalessandro (story), John Heffernan (story)',
 'Year': '2006',
 'imdbID': 'tt0417148',
 'imdbRating': '5.6',
 'imdbVotes': '114,668'}
Python 数据导入进阶

JSON

{'Actors': 'Samuel L. Jackson, Julianna Margulies, Nathan Phillips,
 Rachel Blanchard',
 'Awards': '3 wins & 7 nominations.',
 'Country': 'Germany, USA, Canada',
 'Director': 'David R. Ellis',
 'Genre': 'Action, Adventure, Crime',
 'Language': 'English',
 'Rated': 'R',
 'Released': '18 Aug 2006',
 'Runtime': '105 min',
 'Title': 'Snakes on a Plane',    <--
 'Type': 'movie',
 'Writer': 'John Heffernan (screenplay), Sebastian Gutierrez (screenplay), 
 David Dalessandro (story), John Heffernan (story)',
 'Year': '2006',
 'imdbID': 'tt0417148',
 'imdbRating': '5.6',
 'imdbVotes': '114,668'}
Python 数据导入进阶

JSON

{'Actors': 'Samuel L. Jackson, Julianna Margulies, Nathan Phillips,
 Rachel Blanchard',
 'Awards': '3 wins & 7 nominations.',
 'Country': 'Germany, USA, Canada',
 'Director': 'David R. Ellis',
 'Genre': 'Action, Adventure, Crime',
 'Language': 'English',
 'Rated': 'R',
 'Released': '18 Aug 2006',
 'Runtime': '105 min',
 'Title': 'Snakes on a Plane',    <--
 'Type': 'movie',
 'Writer': 'John Heffernan (screenplay), Sebastian Gutierrez (screenplay), 
 David Dalessandro (story), John Heffernan (story)',
 'Year': '2006',                  <--
 'imdbID': 'tt0417148',
 'imdbRating': '5.6',
 'imdbVotes': '114,668'}
Python 数据导入进阶

在 Python 中加载 JSON

import json
with open('snakes.json', 'r') as json_file: 
       json_data = json.load(json_file)
type(json_data)
dict
Python 数据导入进阶

在 Python 中探索 JSON

for key, value in json_data.items():
    print(key + ':', value)
Title: Snakes on a Plane
Country: Germany, USA, Canada
Response: True
Language: English
Awards: 3 wins & 7 nominations.
Year: 2006
Actors: Samuel L. Jackson, Julianna Margulies
Runtime: 105 min
Genre: Action, Adventure, Crime
imdbID: tt0417148
Director: David R. Ellis
imdbRating: 5.6
Rated: R
Released: 18 Aug 2006
Python 数据导入进阶

Passons à la pratique !

Python 数据导入进阶

Preparing Video For Download...