使用 pandas 高效导入数据
Amany Mahfouz
Instructor



requests.get() 从 URL 获取数据
requests.get(url_string) 从 URL 获取数据params:传入参数字典,自定义 API 请求headers:传入字典,可用于提供 API 用户认证response 对象response.json() 仅返回 JSON 数据response.json() 返回字典read_json() 需要字符串,不是字典pd.DataFrame() 将响应 JSON 载入为数据框read_json() 会报错!





import requests import pandas as pdapi_url = "https://api.yelp.com/v3/businesses/search"# 按文档设置参数字典 params = {"term": "bookstore", "location": "San Francisco"}# 按文档设置包含 API 密钥的请求头字典 headers = {"Authorization": "Bearer {}".format(api_key)}# 调用 API response = requests.get(api_url, params=params, headers=headers)
# 从响应对象中提取 JSON 数据
data = response.json()
print(data)
{'businesses': [{'id': '_rbF2ooLcMRA7Kh8neIr4g', 'alias': 'city-lights-bookstore-san-francisco', 'name': 'City Lights Bookstore', 'image_url': 'https://s3-media1.fl.yelpcdn.com/bphoto/VRydkkpVbA3CeVLBKzs2Vw/o.jpg', 'is_closed': False,
# 将 businesses 数据载入数据框
bookstores = pd.DataFrame(data["businesses"])
print(bookstores.head(2))
alias ... url
0 city-lights-bookstore-san-francisco ... https://www.yelp.com/biz/city-lights-bookstore...
1 alexander-book-company-san-francisco ... https://www.yelp.com/biz/alexander-book-compan...
[2 rows x 16 columns]
使用 pandas 高效导入数据