Yueseryueser.com

← ガイド一覧

重複行の削除:残ってしまう理由と前処理

表計算やチャットからコピーした名簿は、同じ行が何度も出てきます。重複削除は最初の 1 行を残して他を消し、行の中身には触れません。

ツールを開く:重複行の削除

本当に必要になる場面

複数の名簿を統合するときが典型です。3 つの出力それぞれにメールや電話の列があり、つなげると重複だらけになります。重複を除いて初めて実人数が分かります。キーワード、タグ、URL、商品コードも同じです。

出力データの整理も同じです。同じイベントが何度も記録されたログや、同じ発言が転送されたチャットは、重複を除くと独立した項目だけが残ります。重複の量を先に見ておくと、データの品質判断にも使えます。

期待どおりの結果にするには

比較は行全体を 1 文字ずつ行い、大文字小文字を区別します。行頭や行末の空白 1 つ、全角スペース、句読点の違いで別の行になります。「同じに見えるのに残る」場合は、ほとんどがこの見えない違いです。

残るのは最初に出てきた行なので、元の順序が結果に影響します。先に並べ替えると、残るのは並べ替え後の先頭です。前後の空白を除く、重複を削除する、必要なら最後に並べ替える、の順がおすすめです。空行も同じ規則で、複数あっても 1 行になります。

代替手段と注意点

大文字小文字を無視して重複を除きたいなら、先にすべて小文字へ変換します。ただし元の表記は失われます。Acme と Acme Inc.、市外局番の有無、表記違いの住所など、似ているが異なる項目は統合されません。あいまい一致やスクリプトが必要です。

データが多い場合や表にある場合は、Excel の重複の削除、データベースの DISTINCT、コマンドの sort と uniq の組み合わせが適しています。削除した行は跡形も残らないため、元データの控えを必ず取ってください。

よくある質問

同じに見える行が削除されないのはなぜですか?

1 文字ずつ比較しているためです。行頭や行末の空白、全角スペース、句読点の違いで別の行と判定されます。前後の空白を除いてから再度実行してください。

重複した行はどれが残りますか?

現在の順序で最初に出てきた行が残り、後から出てきた同じ行が削除されます。先に並べ替えた場合は、並べ替え後の先頭が残ります。

大文字小文字を無視して重複を削除できますか?

本ツールは区別するため、React と react は 2 行として扱います。無視したい場合は先にすべて小文字へ変換してください。元の表記は失われるので控えを残します。

関連ツール:重複行の削除