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 字段。
相关推荐
墨有6661 分钟前
FieldFormer:基于物理场论的极简AI大模型底层架构,附带源码
人工智能·架构·电磁场算法映射
Mountain and sea21 分钟前
从零搭建工业机器人激光切割+焊接产线:KUKA七轴协同+节卡AGV+视觉检测实战复盘
人工智能·机器人·视觉检测
章鱼丸-21 分钟前
DAY31 文件的拆分和写法
开发语言·python
唐叔在学习34 分钟前
Python桌面端应用最小化托盘开发实践
后端·python·程序员
2501_9454235435 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
2401_8463416536 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
K姐研究社43 分钟前
阿里JVS Claw实测 – 手机一键部署 OpenClaw,开箱即用
人工智能·智能手机·aigc·飞书
卷积殉铁子44 分钟前
从“手动挡”到“自动驾驶”:OpenClaw如何让AI开发变成“说话就行”
人工智能
未知鱼1 小时前
Python安全开发之子域名扫描器(含详细注释)
网络·python·安全·web安全·网络安全
机器之心1 小时前
扎克伯格正在打造自己的「AI分身」,并计划裁掉1.6万人
人工智能·openai