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 字段。
相关推荐
人机与认知实验室10 分钟前
GPT与Deepseek等数据驱动AI的缺点
人工智能·gpt
C7211BA1 小时前
使用大语言模型在表格化网络安全数据中进行高效异常检测
人工智能·web安全·语言模型
纠结哥_Shrek1 小时前
pytorch实现简单的情感分析算法
人工智能·pytorch·python
AIGC大时代1 小时前
对比DeepSeek、ChatGPT和Kimi的学术写作中搜集参考文献能力
论文阅读·人工智能·chatgpt·数据分析·llama
Datawhale1 小时前
Stable Diffusion创始人:DeepSeek没有抄袭!
人工智能·stable diffusion
cimeo2 小时前
ChatGPT怎么回事?
人工智能·chatgpt
查理零世3 小时前
【算法】回溯算法专题② ——组合型回溯 + 剪枝 python
python·算法·剪枝
SUNX-T4 小时前
【机器学习理论】朴素贝叶斯网络
人工智能·机器学习·概率论
关关钧5 小时前
【R语言】R语言安装包的相关操作
开发语言·python·r语言