100万件以上のCSVファイルをExcelやGoogleスプレッドシートで重複データを抽出しようとしたところ、行数オーバーでファイルが開けない問題があったので、CSVファイルから直接重複データを抽出できるか調べました。
Pythonのようなスクリプト言語を使うと、大規模なCSVファイルを簡単に扱え、特に重複データを抽出するのに便利みたいです。
# 方法
1.Pythonの環境を準備する
Pythonをインストールしていない場合は、公式サイトからインストールします
https://www.python.org/
2.pandasライブラリをインストールする
パッケージ管理ツール pip
を使って、pandasライブラリをインストールします。
pip install pandas
subset='重複抽出した列名'
の部分を修正します。# 列を指定して重複している行を抽出
duplicated_df = df[df.duplicated(subset=’重複抽出したい列名’, keep=False)]
# 重複したデータをCSVに書き出す
duplicated_df.to_csv(‘duplicated_companies.csv’, index=False)
print(“重複データの抽出が完了しました。”)
============
4.スクリプトの実行
まずコマンドプロンプト(Windows)またはターミナル(MacやLinux)を開きます。
その後スクリプトが保存されたディレクトリに移動します。
例えば、スクリプトが「C:\myfolder」に保存されている場合、コマンドプロンプトで以下を入力します。
cd C:\myfolder
Pythonスクリプトを実行します。以下のコマンドを入力して、スクリプトを実行します。
python extract_duplicates.py
スクリプトを実行すると、重複データが duplicated_companies.csv
というファイルが同じディレクトリに作成され、重複したデータが保存されます。