使用GPT-4生成CSV文件的N8N工作流
Prepare CSV files with GPT-4
通过OpenAI GPT-4自动生成虚构用户数据并批量导出为CSV文件的自动化工作流
工作流概述
这是一个使用GPT-4生成随机用户数据并导出为CSV文件的N8N自动化工作流。该工作流通过调用OpenAI API生成虚构的用户信息,然后将这些数据处理并保存为多个CSV文件到本地磁盘。
工作流程详解
1. 触发阶段
- 节点: When clicking "Execute Workflow" (手动触发器)
- 功能: 通过手动点击触发整个工作流的执行
- 位置: 工作流的起始节点
2. 数据生成阶段
- 节点: OpenAI
- 类型: n8n-nodes-base.openAi
- 配置:
- 使用模型: GPT-4
- 生成数量: 3次调用
- 最大令牌数: 2500
- 温度参数: 1 (提高随机性)
- 提示词内容: 要求GPT-4生成10个随机用户的JSON数组,包含以下字段:
user_name: 虚构角色名字(名和姓首字母相同)user_email: 电子邮件地址subscribed: 订阅状态(布尔值)date_subscribed: 订阅日期(如果已订阅则为2023-10-01之前的随机日期)
3. 批处理阶段
- 节点: Split In Batches
- 功能: 将3个OpenAI响应分批处理,每次处理1个
- 批次大小: 1
- 作用: 确保每个生成的用户列表都被单独处理并保存为独立的CSV文件
4. 数据解析阶段
- 节点: Parse JSON
- 类型: Set节点
- 功能: 将OpenAI返回的JSON字符串解析为实际的JSON对象
- 操作: 提取message.content字段并解析为数组
5. 数据展开阶段
- 节点: Make JSON Table
- 类型: Item Lists节点
- 功能: 将JSON数组中的每个用户对象展开为独立的数据项
- 字段: 展开"content"字段
6. CSV转换阶段
- 节点: Convert to CSV
- 类型: Spreadsheet File节点
- 配置:
- 输出格式: CSV
- 文件名:
funny_names_[序号].csv(序号从1开始) - 包含表头行: 是
7. 数据清理阶段
7.1 移除BOM字节
- 节点: Strip UTF BOM bytes
- 类型: Move Binary Data节点
- 功能: 移除UTF-8 BOM (Byte Order Mark)字节
- 重要性: 避免CSV文件读取时出现编码问题
7.2 创建有效二进制
- 节点: Create valid binary
- 类型: Move Binary Data节点
- 配置:
- 模式: JSON转二进制
- 编码: UTF-8
- MIME类型: text/csv
- 不添加BOM
- 功能: 将处理后的数据转换为正确格式的二进制文件
8. 文件保存阶段
- 节点: Save to Disk
- 类型: Write Binary File节点
- 路径:
./.n8n/funny_names_[序号].csv - 功能: 将生成的CSV文件保存到N8N工作目录
- 循环: 保存后返回到Split In Batches节点继续处理下一批数据
工作流特点
优势
- 自动化程度高: 一键生成多个包含随机数据的CSV文件
- 数据格式规范: 生成的数据结构清晰,符合实际业务场景
- 批处理能力: 可以同时生成多个不同的数据集
- 编码处理完善: 特别处理了BOM字节问题,确保文件兼容性
应用场景
- 测试数据生成
- 开发环境数据填充
- 演示和培训用途
- CSV文件处理流程测试
固定数据说明
工作流包含3组预生成的测试数据(pinData),每组包含10个用户记录。这些数据已经固定在OpenAI节点中,方便测试和演示,无需每次都调用API。
注意事项
- 需要配置有效的OpenAI API凭证
- 确保
.n8n目录存在且有写入权限 - BOM字节处理对于跨平台CSV文件读取至关重要
- 生成的数据为虚构内容,仅供测试使用