OpenAI 实战进阶教程 - 第二节:生成与解析结构化数据:从文本到表格

目标
  • 学习如何使用 OpenAI API 生成结构化数据(如 JSON、CSV 格式)。
  • 掌握解析数据并导出表格文件的技巧,以便适用于不同实际场景。

场景背景

假设你是一名开发人员,需要快速生成一批产品信息列表(如名称、价格、描述),并将这些信息导出为 CSV 文件供其他系统使用。


一、生成结构化数据(JSON 格式)

代码示例:生成产品信息列表

python 复制代码
import openai
import json


# 设置 API 密钥
openai.api_key = "Your_API_Key"

# 定义 API 请求参数
prompt = """
Generate a list of 5 products with the following attributes:
- Product Name
- Price (in USD)
- Short Description
Return the result as a JSON array.
"""

# 调用 OpenAI API
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": prompt}
    ],
    max_tokens=300,
    temperature=0.5
)

# 解析生成结果
generated_text = response['choices'][0]['message']['content']

try:
    product_data = json.loads(generated_text)
    if isinstance(product_data, dict):
        product_data = [product_data]
    print("Parsed Data:", product_data)
except json.JSONDecodeError:
    print("Failed to parse JSON. Check API response format.")

代码说明
  1. 模型选择:使用 gpt-4 生成高质量、结构化的产品数据。
  2. 请求内容 prompt:要求返回 JSON 数组以降低解析出错的可能性。
  3. 解析数据 json.loads():将返回的 JSON 字符串转换为 Python 列表格式。

输出示例
json 复制代码
[
  {
    "Product Name": "Smartphone X10",
    "Price": 499,
    "Short Description": "A powerful smartphone with advanced features."
  },
  {
    "Product Name": "Wireless Earbuds Z",
    "Price": 79,
    "Short Description": "High-quality sound with noise cancellation."
  },
  ...
]

二、导出数据到 CSV 文件

代码示例:导出生成数据为 CSV 文件

python 复制代码
# 确保数据为列表格式
if isinstance(product_data, list):
    with open("products.csv", "w", newline="") as file:
        writer = csv.DictWriter(file, fieldnames=["Product Name", "Price", "Short Description"])
        writer.writeheader()
        writer.writerows(product_data)
    print("Data successfully saved to products.csv")
else:
    print("No valid data to save.")

代码说明
  1. csv.DictWriter():将字典格式数据写入 CSV 文件。
  2. writer.writeheader():写入表头。
  3. writer.writerows():写入数据行。

三、实际应用案例

1. 数据自动生成

  • 市场营销:批量生成商品描述以加快推广文案输出。
  • 数据分析:生成模拟数据进行测试和建模。

2. 数据导出与分析

  • 自动生成客户报告并导出为 Excel/CSV 格式。
  • 将表格数据上传到数据库进行分析。

小结
  • 通过 OpenAI 生成结构化数据(如 JSON 格式)可以显著提高数据处理效率。
  • 解析生成结果并导出为 CSV 文件是实现数据自动化的重要环节。

练习题
  1. 生成订单数据:使用 OpenAI API 生成包含订单编号、商品名称、数量和总价的订单信息。
  2. 导出 Excel 文件 :将生成的订单数据保存为 Excel 文件(可使用 pandas 库)。
  3. 增强提示词 :尝试优化 prompt 以生成更丰富的产品数据,例如增加 CategoryStock Availability 字段。
相关推荐
Ray Liang1 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
中杯可乐多加冰1 小时前
OpenClaw到底能做什么?有什么用?先装这几个实用的Skills
人工智能
AI攻城狮1 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
aircrushin4 小时前
从春晚看分布式实时协同算法与灵巧手工程实现
人工智能·机器人
恋猫de小郭4 小时前
Apple 的 ANE 被挖掘,AI 硬件公开,宣传的 38 TOPS 居然是"数字游戏"?
前端·人工智能·ios
银河系搭车客指南4 小时前
AI Agent 的失忆症:我是怎么给它装上"第二个大脑"的
人工智能
张拭心4 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
我的username4 小时前
极致简单的openclaw安装教程
人工智能