CSVの重複削除・列整理

指定した列の組み合わせで重複行を判定して削除し、残す列や順番を整理します。全角英数字の半角化や前後の空白削除も列ごとに選べます。

ブラウザ内で処理|ブラウザ内で処理します。サーバーへ送信しません。

  • 1ファイル 5 MiB まで。1回に1ファイル。
  • データは20,000レコード・200列・500,000セルまで。出力は 20 MiB まで。
  • 列数が一致しない行がある場合は保存を中止し、元のCSVの確認を案内します(空白だけの行は削除できます)。

CSVを整理する

  • 最初に出てきた行を残します。
  • 判定する列がすべて空の行は、標準では削除しません。
  • 選択した変換を行ったあとに重複を判定します。
  • 氏名や住所が似ているだけでは、同じデータと判定しません。

ファイルの内容はブラウザ内で処理します。サーバーへ送信しません。

ドラッグ&ドロップもできます。拡張子ではなく内容で判定します。

使い方

  1. 選択:CSVファイルを選択します。ファイルは端末内で読み込みます。
  2. 列と判定:残す列・並び順、重複を判定する列、前後の空白や全角英数字の変換を設定します。
  3. 確認:削除された行とその理由、変更されたセルの原値/新値を確認します。
  4. 保存:「整理したCSVを保存」でUTF-8でダウンロードします。設定を変えたら再処理が必要です。

重複を判定するルール

重複は「選んだ列の値の組み合わせ」が完全に一致するときだけ、同じデータと判定します。最初に出てきた行を残し、あとから出てきた行を削除します。 判定する列がすべて空の行は、標準では削除しません。一部だけ空の行は、空をワイルドカードにせず、値の組み合わせをそのまま比較します。 有効数字の扱い(例:「001」と「1」)は別の値として扱います。

列ごとの変換と処理順

変換と判定の順序は固定です。列の変換は、まず全角英数字(0-9、A-Z、a-z)を半角にし、そのあとで各セル両端の半角/全角スペースとタブを削除します。 記号・カナ・㈱・①などや、セル内の空白・改行は変更しません。重複の判定は「選択した変換を行ったあとの値」で行い、そのうえで残す列だけを投影します。

  1. 文字コードを判定して読み込む
  2. 選択した列に全角英数字→半角、続いてtrimを適用
  3. (任意)空白レコードを削除
  4. (任意)選択した列の値をキーに重複を削除(最初の行を残す)
  5. 残す列と順序で投影
  6. 出力モードに応じて式リスクを処理し、文字コードを付けて保存

合成サンプル

動作確認用のサンプルです(架空のデータ)。そのまま選択して、列の指定や重複削除を試せます。

CSV文字コード変換で文字コードを整えてから使うこともできます。

よくある質問

同じ名前の見出し(重複表頭)があると、どちらかの列が上書きされますか?

いいえ。列は見出し名ではなく安定した列ID(c0, c1, …)で扱うため、同じ名前の見出しでも上書きされません。見出し名は自動で変更しません。

判定する列が空の行はどうなりますか?

標準では、判定する列がすべて空の行は削除せず、そのまま残します。意図的に削除したい場合だけ「判定列がすべて空の行も重複として扱う」をオンにしてください。一部だけ空の行は、値の組み合わせをそのまま比較します(空をワイルドカードにはしません)。

全角の英数字はどこまで半角になりますか?

変換対象は列ごとに選べます。対象は全角の英数字(0-9、A-Z、a-z)だけで、記号・カナ・㈱・①などは変更しません。空白は各行の両端の半角/全角スペースとタブだけを削除し、セル内の空白や改行は残します。

「0001」のような前導ゼロは消えませんか?

このツールは値を文字列として扱うため、保存されるCSVでは前導ゼロは保持されます。ただしExcelでダブルクリックして開くと数値として解釈され、前導ゼロが表示上消えることがあります。その場合は「データ」→「テキストファイル」から文字列として読み込んでください。

元のファイルは変更されますか?

いいえ。元のファイルは変更しません。処理はすべてブラウザ内(Web Worker)で行い、ファイルの内容・名前・セルの中身をサーバーへ送信しません。ダウンロードした別ファイルだけが作られます。

列数が一致しない行があると保存できません。どう直しますか?

空白だけの行(物理的な空行など)は、「空白レコードを削除する」をオンにすると削除できます。それ以外の列数が足りない行は、内容が欠けている可能性があるためブロックし、該当のデータ行番号を示します。元のCSVを確認してから再試行してください。

関連するツール