「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

何十万、何百万行ものデータの中から重複行を削除する場合、Excelでは「重複行の削除」機能はありますが大量データの処理には向きません(そもそも何十万件ものデータを処理させようとすると重い><)。何とか手っ取り早く処理出来る方法がないかと調べてたらサクラエディタでたった3コマンド実行するだけで重複行削除が可能ですのでその方法をご紹介します。

重複行を削除する方法

  1. 先ずはサクラエディタでデータを開き、「Ctrl + A」で全行選択します。
    重複行削除手順_1
  2. 次に「Alt + A」でソートします。
    重複行削除手順_2
  3. 最後に「Alt + M」でマージすれば重複行が削除された状態になります。
    重複行削除手順_3

たったこれだけで完了♪便利すぎる。。。

補足

大規模ファイルでの注意点

重複行を削除する手順は非常にシンプルですが、ファイル行数が何十万行、あるいはそれを超えるような巨大なテキストの場合、ソートやマージ処理でメモリを大量に消費する可能性があります。特にPCのリソース(RAM, CPU)が不足していると応答が遅くなったり最悪クラッシュしたりすることもあります。
→ 大容量ファイルでは、事前にバックアップを取っておくことを強く推奨します。

エンコード・改行コードの違い

ファイルが UTF-8、Shift_JIS、EUC-JP など異なる文字コードで保存されていたり、改行コードが CR+LF(Windows)、LF(Unix)など混在していると、見た目は同じ行でも “重複行” として認識されない場合があります。ソート・マージの前に、同一の文字コード・改行形式に統一しておくと安全です。

列ごとの判断での重複削除

単純に “行全体” を対象に重複を判断する方法が記事で紹介されていますが、もし CSV やタブ区切りファイルのように “特定のカラムだけ重複チェックしたい” 場合は、サクラエディタのみではやや扱いにくくなります。その場合は以下のツールや方法を併用するのも有効です:

  • Excel や LibreOffice Calc の重複除去機能

  • AWK や Python、Perl などスクリプト言語で該当カラムをキーに重複行を抽出/削除

  • 専用テキスト処理ツール(例えば “TextPipe” や “GrepWin” など)

自動処理(スクリプト化)する方法

もし頻繁に同じ種類のファイルで重複行処理をするなら、次のようなバッチスクリプト/PowerShell スクリプトで自動化するのもおすすめです:

rem Windows バッチ例
type ファイル名.txt | sort > sorted.txt
type sorted.txt | uniq > deduped.txt
# PowerShell 例(UTF-8 ファイル想定)
Get-Content .\input.txt | Sort-Object | Get-Unique | Set-Content .\output.txt

こうしたスクリプトを定期的に実行できるようにしておけば、サクラエディタを手で開かずとも重複除去処理が可能になります。

Ads by Google

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x