使用 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 檔案讀取至關重要
- 生成的資料為虛構內容,僅供測試使用