# 行を削除せずにCSVデータを整理する

日付、識別子、重複、欠損値の処理と行単位の照合に役立つ、実践的なCSV整理チェックリスト。

Canonical page: https://beeuni.ai/blog/ja/clean-messy-csv-without-losing-rows

整理後のCSVは見た目がきれいでも、内容が正しいとは限りません。先頭のゼロが消えたり、あいまいな日付が誤った月として解釈されたり、重複の削除によって正当な取引が消えたりすることがあります。元データをそのまま保管し、変更のすべてを元の行までたどれるようにしましょう。

注文レポートが、接続済みのスプレッドシート、共有ドライブ、ウェブダッシュボードのいずれかにあるとします。Beeuniにレポートの場所と日付範囲を指定してください。必要な接続またはブラウザーアクセスがあれば、エージェントはデータを取得し、整理の前に元データのコピーを保存できます。

保存したコピーをまず確認するよう、エージェントに指示してください。値を変更する前に、区切り文字、文字コード、ヘッダー、解析された行数、不正なレコードを報告させます。引用符で囲まれたCSVのフィールドには改行が含まれることがあるため、行数だけでは不十分です。どのレコードが対象だったか説明できるよう、コピーと一緒にレポートへのリンク、取得時刻、適用したフィルターも記録してください。

## 重要な列のルールを決める

| 列 | 整理ルール | 確認に回すケース |
| --- | --- | --- |
| 注文ID | 文字列として読み込み、先頭のゼロを保持する | 識別子が欠けている場合、またはレコードの内容が食い違う場合 |
| 日付 | 元データの形式がわかっている場合は、ISO形式の日付を使用する | 03/04/2026のように解釈が複数ある値 |
| 金額 | 指定された小数点の表記規則に従って解析する | 区切り記号が混在している値や読み取れない値 |
| 通貨 | 行ごとに明示的な通貨を保持する | 通貨が特定できない金額 |
| ステータス | 承認済みのラベル対応表を適用する | 意味が不明なラベル |

削除する前に、何を重複とみなすかを決めてください。注文IDは複数の明細行に現れることがあります。同じ金額でも、異なる購入を表す場合があります。まず重複の可能性がある行に印を付け、どの条件で照合したかを説明させましょう。誤った重複と正当なレコードを区別するルールがある場合に限り、行を削除してください。

## 3種類の出力を依頼する

```
Retrieve the report from the connection or page I specify, using the agreed date range.
Save an unchanged source copy and record its origin and filters.
Write and run a cleanup script using the agreed column rules.
Add source_row_number before sorting or filtering.
Keep all successfully parsed source rows in cleaned.csv.
Flag uncertain values instead of guessing.
Put malformed records and issues in review.csv, with reasons.
Write checks.txt with row counts, changed fields, and totals by currency.
Do not overwrite the source or update the live report.
```

金額が空欄の場合、ゼロを意味するとわかっていない限り空欄のままにします。日付変換に失敗したケースは、元データで日付が欠けていたケースと分けて記録してください。そうしないと、後で行を修正するために必要な情報が失われます。

## インポート前に照合する

- **行:** 元データの各レコードが、整理後の出力または不正レコードの報告に必ず含まれていること。除外した行があれば、別途説明すること。
- **識別子:** 先頭にゼロがある値や、長い数字のように見える文字列を、プレーンテキスト表示で確認すること。
- **合計:** 整理の前後で、通貨ごとに金額を比較すること。異なる通貨を合算しないこと。
- **変更:** 余分な空白の削除、ステータスの置き換え、日付の変換など、各種変換からサンプルを確認すること。
- **取り込み先:** 取り込み先のアプリケーションに少量のサンプルをインポートし、日付とテキストフィールドがどのように読み込まれるか確認すること。

CSVを開いたときに、スプレッドシートアプリケーションが先頭のゼロを削除することがあります。その場合は、元のファイルを確認し、ID列を文字列としてインポートしてください。結果を確認した後、操作に対応した接続ツールを通じて、新しいシートまたは別の取り込み先に書き込むようエージェントに依頼できます。取り込み先を確かめ、取り込まれたレコードを確認してください。元のレポートは変更せずに保管します。
