API 数据交互

我们不仅可以通过网页获得有价值的数据。在实际业务中,基于 API(应用程序接口) 的数据交互也是非常关键的一环。许多系统通过 API 进行数据交换,确保信息在不同平台之间的流通。自动化 API 数据交互可以帮助我们定时获取最新数据、自动处理和整理数据,以及自动生成报告或将数据传递给其他系统。

在 Python 中,我们可以使用 `requests` 库获取 API 数据,处理返回的 JSON 数据,并通过简单的数据处理生成报告。

什么是 API ? API(应用程序编程接口)是一组定义不同软件系统如何相互通信的规范。借助 API,我们可以:
  • 向外部系统请求数据(如产品信息、天气数据、金融数据等);
  • 将获取的数据进行处理、分析并生成报告;
  • 实现数据的自动更新与传递,减少人工干预。
接下来,我们将以获取产品信息并生成报告为例,演示如何利用 Python 的 `requests` 库进行 API 数据交互。 使用 requests 获取和处理 API 数据 Python 的 `requests` 库是一个简单易用的 HTTP 客户端工具,可以方便地向 API 发起请求并获取响应数据。一般步骤包括:
  1. 发送 HTTP 请求(GET、POST等)。
  2. 获取并解析响应数据(通常为 JSON 格式)。
  3. 对数据进行处理,例如转换为 DataFrame、统计信息提取或生成报告。
下面提供一个示例代码,展示如何调用一个示例 API 获取产品信息,并使用 pandas 将数据生成报告保存为 CSV 文件。

示例代码:

import requests
import pandas as pd

# 示例 API 地址(请根据实际情况替换)
api_url = "https://api.example.com/products"

# 如果需要授权,可以添加请求头(例如 Bearer Token 认证)
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN"
}

try:
    # 发送 GET 请求获取 API 数据
    response = requests.get(api_url, headers=headers)
    # 如果响应状态码不是200,则抛出异常
    response.raise_for_status()
    
    # 解析返回的 JSON 数据
    data = response.json()
    print("成功获取 API 数据。")
    
    # 假设返回的数据为产品信息列表,每个产品包含 id、name、price 等字段
    # 将数据转换为 pandas DataFrame
    df = pd.DataFrame(data)
    
    # 输出部分数据,查看结构
    print("产品数据预览:")
    print(df.head())
    
    # 生成报告:保存为 CSV 文件
    df.to_csv("product_report.csv", index=False)
    print("产品报告已保存为 'product_report.csv'.")
    
except Exception as e:
    print(f"获取或处理 API 数据时发生错误:{e}")

代码说明

  • 发送请求
    使用 requests.get() 向 API 地址发送 GET 请求,并通过 headers 传入授权信息(如果需要)。
  • 错误处理
    response.raise_for_status() 用于检查响应状态码,如果请求失败,则自动抛出异常。
  • 解析 JSON 数据
    使用 response.json() 将返回的 JSON 数据转换为 Python 对象(通常为列表或字典)。
  • 数据处理
    将获取的产品数据转换为 pandas DataFrame,便于后续数据处理和分析。
  • 生成报告
    使用 to_csv() 方法将 DataFrame 保存为 CSV 文件,生成产品报告。
  • 异常捕获
    通过 try-except 块捕获请求、解析或保存数据过程中的错误,并输出详细错误信息。

提示词示例:

提示词:

请编写一个 Python 脚本,使用 requests 读取 API 地址 "https://api.example.com/products" 获取产品信息,并将返回的 JSON 数据转换为 pandas DataFrame。要求在获取过程中加入异常处理,如果请求失败或数据解析出错,则输出详细错误信息。最后,请将产品数据保存为 CSV 文件 "product_report.csv"。

练习:

  1. 请修改示例代码,增加对 API 请求返回数据格式的验证,并在数据不符合预期时输出警告信息。
  2. 请设计一个提示词,使生成的代码支持动态选择 API 地址(通过用户输入参数)并根据返回数据生成不同格式的报告(例如 CSV 或 JSON 格式)。

AI 助教

提示:您可在此提出学习中遇到的问题。回答由 AI 生成,可能存在错误,请注意甄别。