---
title: "整理髒資料並生成可用資料集"
description: "用 Codex 清洗 CSV 或 spreadsheet 資料：先保留原檔案，再生成可審查的清洗副本和 data-quality note。"
verifiedAt: "2026-05-05"
---

import { Cards, Card } from 'fumadocs-ui/components/card';

當 CSV 或 spreadsheet 裡混著不同日期格式、貨幣字串、重複行、空值、別名和複製進去的彙總行時，不要直接覆蓋原檔案。把檔案拖進 Codex，描述你已經看到的問題，讓它寫一個清洗後的副本，並附一份 data-quality note。

官方頁面：[https://developers.openai.com/codex/use-cases/clean-messy-data](https://developers.openai.com/codex/use-cases/clean-messy-data)

<Cards>
  <Card title="Clean messy data" href="https://developers.openai.com/codex/use-cases/clean-messy-data">
    清洗 CSV 或 spreadsheet，同時保留原始檔案。
  </Card>
  <Card title="Analyze data" href="https://developers.openai.com/codex/use-cases/analyze-data-export">
    在清洗之後繼續生成分析和圖表。
  </Card>
  <Card title="File inputs" href="https://developers.openai.com/api/docs/guides/file-inputs">
    瞭解把檔案作為上下文輸入的官方能力。
  </Card>
</Cards>

## 適合什麼任務

| 場景 | Codex 應該做什麼 |
|---|---|
| CSV 或 spreadsheet export 裡日期格式混亂 | 統一日期格式，保留不能確定的行說明 |
| currency values 裡有 `$`、逗號和空白 cell | 清理數字格式，但保持 blank currency cells 為空 |
| 多次匯出造成 duplicate customer rows | 去重，並儘量保留 source row IDs |
| region、category 使用多個 aliases | 歸一化別名，記錄改動規則 |
| 表裡混入 pasted summary rows | 移除彙總行，並在質量說明中列出 |

## 使用的能力

| 能力 | 用法 | 連結 |
|---|---|---|
| `$spreadsheet` | 檢查 tabular files、清洗 columns、產出可 review 的檔案和說明 | [https://developers.openai.com/codex/skills](https://developers.openai.com/codex/skills) |

相關官方說明：

- Analyze data with Codex：[https://developers.openai.com/codex/use-cases/analyze-data-export](https://developers.openai.com/codex/use-cases/analyze-data-export)
- File inputs：[https://developers.openai.com/api/docs/guides/file-inputs](https://developers.openai.com/api/docs/guides/file-inputs)
- Agent skills：[https://developers.openai.com/codex/skills](https://developers.openai.com/codex/skills)

## 起始提示詞

```text
请清洗 @marketplace-risk-rollout-export.csv。

已知问题：
- 日期混用了 MM/DD/YYYY 和 YYYY-MM-DD
- currency values 里包含 $、逗号和空白 cells
- 重复导出导致少量 duplicate customer rows
- region 和 category names 使用了多种 aliases
- 数据里混入了 pasted summary rows

我需要：
- 输出一份 cleaned CSV
- 保持原始文件不变
- 统一使用一种日期格式
- blank currency cells 继续保持空白
- 尽可能保留 source row IDs
- 添加一份简短 data-quality note，列出被修改、移除，或无法有把握清洗的 rows
```

這個 prompt 的關鍵是先寫明“哪裡髒”，再寫明“要什麼結果”。不要只說“清洗一下這個表”。

## 產出物約定

清洗任務最好讓 Codex 同時產出三樣東西：

| 產出 | 用途 |
|---|---|
| `original` | 原始檔案，絕不覆蓋 |
| `cleaned` | 清洗後的 CSV 或 spreadsheet |
| `data-quality note` | 記錄規則、刪除行、可疑行和無法確認的問題 |

data-quality note 不需要很長，但必須能回答：

- 哪些欄位被標準化。
- 哪些行被刪除或合併。
- 哪些值保持空白。
- 哪些行 Codex 沒有把握自動修。
- 行數和關鍵欄位分佈是否發生變化。

如果下游是 CRM、財務、投放後臺或資料倉儲，這份 note 比“清洗成功”更重要。它能讓人審查清洗邏輯，而不是盲信輸出檔案。

## 操作步驟

1. 把檔案拖進 Codex，或在 prompt 裡用 `@customer-export.csv` mention 檔案。
2. 寫出你已經觀察到的問題，例如 mixed dates、duplicates、aliases、summary rows。
3. 說明需要的輸出形式：cleaned CSV、clean spreadsheet tab，或 upload-ready file。
4. 明確要求保留 original file unchanged。
5. 要求 Codex 輸出 data-quality note，列出 changed、removed、uncertain rows。
6. 開啟 cleaned copy 和 data-quality note，人工 review 後再用於下游流程。

## 驗收重點

清洗任務的好壞不只看檔案能否開啟，還要看這些邊界：

- 原始檔案沒有被覆蓋。
- 清洗後的檔案欄位數和行數變化有解釋。
- 日期、貨幣、類別等規則一致。
- 空值沒有被隨意填成 `0` 或未知字串。
- 無法 confident clean 的行被標出來。
- 去重邏輯能追溯 source row IDs。

如果清洗結果要進入 CRM、財務、投放後臺或資料倉儲，先抽樣核對幾行，再上傳。

## 進階提示詞

```text
请清洗 @export.csv，但不要覆盖原文件。

请先检查：
- header 是否唯一
- 日期格式有哪些
- currency / percentage / integer 字段是否混入符号
- 是否有重复行、空行、summary row
- category / region / status 是否有 aliases

请输出：
- cleaned CSV
- data-quality note
- 一段 row count summary

限制：
- 不要猜测无法确认的值
- 空白金额继续保持空白
- 删除或合并行时保留 source row IDs
- 如果规则会影响超过 5% 的行，先在 note 里突出说明
```

## 什麼時候要停下來

這些情況不應該讓 Codex 直接產出最終上傳檔案：

- 欄位含義不清，比如 `status`、`type`、`stage` 沒有業務字典。
- 多個系統匯出的同名欄位含義不同。
- 金額、稅率、退款、佣金這類欄位可能影響財務結果。
- 去重規則會合並客戶、訂單或付款記錄。
- 清洗後行數變化很大，但原因不明確。

這時先讓 Codex 做 profiling report，再由人確認規則。資料清洗的風險通常不在格式，而在“看似合理的錯誤歸一化”。

## 官方資料

- [OpenAI Codex use case: Clean and prepare messy data](https://developers.openai.com/codex/use-cases/clean-messy-data)
- [Analyze data with Codex](https://developers.openai.com/codex/use-cases/analyze-data-export)
- [File inputs](https://developers.openai.com/api/docs/guides/file-inputs)
- [Codex skills](https://developers.openai.com/codex/skills)
