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 字段。
相关推荐
淦暴尼2 分钟前
银行客户流失预测分析
python·深度学习·算法
Pigwantofly6 分钟前
SpringAI入门及浅实践,实战 Spring‎ AI 调用大模型、提示词工程、对话记忆、Adv‎isor 的使用
java·大数据·人工智能·spring
Eloudy13 分钟前
复矩阵与共轭转置矩阵乘积及其平方根矩阵
人工智能·算法·矩阵
m0_6313544516 分钟前
VTK开发day2:切片矩阵
人工智能·算法·矩阵
拓端研究室18 分钟前
专题:2025电商增长新势力洞察报告:区域裂变、平台垄断与银发平权|附260+报告PDF、原数据表汇总下载
大数据·人工智能
go546315846533 分钟前
在本地环境中运行 ‘dom-distiller‘ GitHub 库的完整指南
人工智能·深度学习·神经网络·算法·矩阵·github
那雨倾城36 分钟前
PiscCode使用OpenCV实现漂浮方块特效
python·opencv
awonw36 分钟前
[python][flask]Flask-Principal 使用详解
开发语言·python·flask
KaneLogger44 分钟前
一文了解提示词、提示词工程和上下文工程
人工智能·程序员
风筝超冷1 小时前
【Milvus合集】1.Milvus 的核心概念(collection、field、index、partition、segment)
人工智能·机器学习·milvus