CSV重複削除ツール

重複データはCSVエクスポート時にさまざまな不快な形で混入します。例えば、繰り返し送信されるWebhookデータ、手作業で結合された2つのレポート、あるいは予期せぬ列の分散を引き起こすジョイン処理などが挙げられます。この重複削除ツールは各データ行をハッシュ処理し、最初に出現する値のみを保持することで、元の行順を維持しつつコピーを静かに削除します。ヘッダー行の有無は任意です。ファイルがデータから直接始まる場合は、該当のオプションをオンにしてください。

重複削除の仕組み

  1. 1

    CSVを貼り付けます

    ヘッダー行を含む/除外するを選択します。チェックボックスを使用してツールにその設定を指定します。

  2. 2

    各行をハッシュ化

    各行は配列に解析され、そのJSON表現のMD5が一意性を判定するキーとして使用されます。

  3. 3

    最初に出現した行が優先

    同じハッシュ値を持つ最初の行が保持されます。同じ内容を持つ後続の行は何も表示せずにスキップされます。

  4. 4

    ヘッダーを保持

    ヘッダーモードがオンの場合、1行目はデータとの重複判定を行わず、常にそのまま出力されます。

重複とみなされる項目

この重複削除ツールは行全体の一致を基準とします。標準的なCSV解析を行った後、すべてのセルが位置ごとに一致する場合に、その2つの行は重複と見なされます。

それでも別物として扱われるもの

行A 行B 判定
Alice,30,Paris Alice, 30, Paris 別物(余分なスペース)
Bob,25 Bob,25, 別物(末尾に空のセル)
"Jane Smith",42 Jane Smith,42 同一(引用符はパーサーレベルで処理される)
TRUE,1 true,1 別物(大文字・小文字を区別)

列単位の重複削除が適している場合

行全体の一致は厳格です。これは通常望ましい動作ですが、場合によっては「他の列に関わらずメールアドレスごとに1行だけ残したい」というケースもあります。そのような場合は、まず「CSV列抽出ツール」でファイルをキー列だけに絞り込み、その列で重複を除去してから、その結果をルックアップとして使用します。あるいはSQLを使う方法もあります。PostgreSQLではSELECT DISTINCT ON (email) * FROM users ORDER BY email, created_at DESC;、他のデータベースではMIN()集計を伴うGROUP BYが使えます。

実用的なヒント

  • 重複を削除する前に正規化しましょう。 先にキー列の空白を除去し、大文字・小文字を統一してください。そうしないとALICE@EXAMPLE.COMalice@example.comの両方が残ってしまいます。
  • 並べ替えてから重複を削除すると、結果を追跡できます。 どのコピーが残ったかを把握する必要がある場合は、重複削除ツールを実行する前に、優先するタイブレーク基準(最も新しいタイムスタンプ、最も小さいID など)でCSVを並べ替えておきましょう。
  • 行数を確認しましょう。 元のファイルと出力ファイルの両方で「CSV行カウンター」を使い、いくつの重複が削除されたかを確認してください。

よくある質問

いいえ、解析した行全体をハッシュ処理します。単一列での一意性を確保したい場合は、まず「CSV列抽出ツール」でCSVを該当の列だけに絞り込んでから、この重複削除ツールを実行してください。

ファイル内で最初に出現した行です。特定のコピー(最新のレコード、IDが最も小さいものなど)を残したい場合は、事前にCSVを並べ替えておいてください。

はい。行は標準のCSVルールで解析されるため、"Jane, Smith"は単一セルとして保持され、その状態で比較されます。

重複削除の計算のため、CSVは当社サーバーに送信されます。保存や共有はされず、ページのリンクにも追加されません。

関連ツール