使用 GPT-4 生成 CSV 檔案的 N8N 工作流程

Prepare CSV files with GPT-4

透過 OpenAI GPT-4 自動生成虛構使用者資料並批次匯出為 CSV 檔案的自動化工作流程

11 NodesAI & MLAI 資料生成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 節點繼續處理下一批資料

工作流特點

優勢

  1. 自動化程度高:一鍵生成多個包含隨機資料的 CSV 檔案
  2. 資料格式規範:生成的資料結構清晰,符合實際業務情境
  3. 批次處理能力:可同時生成多個不同的資料集
  4. 編碼處理完善:特別處理了 BOM 位元組問題,確保檔案相容性

應用場景

  • 測試資料生成
  • 開發環境資料填充
  • 演示與培訓用途
  • CSV 檔案處理流程測試

固定資料說明

工作流包含 3 組預先生成的測試資料(pinData),每組包含 10 個使用者記錄。這些資料已固定於 OpenAI 節點中,方便測試與演示,無需每次皆呼叫 API。

注意事項

  1. 需設定有效的 OpenAI API 憑證
  2. 確保 .n8n 目錄存在且具備寫入權限
  3. BOM 位元組處理對於跨平台 CSV 檔案讀取至關重要
  4. 生成的資料為虛構內容,僅供測試使用