BitwardenのボルトをCSVにエクスポートした際に重複エントリが発生した経験がある場合、このスクリプトはあなたのためのものです。このスクリプトはエクスポートデータをスキャンし、キーとなるフィールドに基づいて重複を削除します。
問題点
Bitwardenのボルトをエクスポートすると、同じ資格情報、同じメモなど、重複したエントリが発生することがあります。このスクリプトは、ユニークなエントリのみを残すことで、これをクリーンアップするのに役立ちます。
動作原理
このスクリプトはBitwardenのCSVエクスポートを読み込み、各エントリをキーとなるフィールド(タイプ、名前、URI、ユーザー名、パスワード、メモ)に基づいてチェックし、各ユニークな組み合わせの最初のエントリのみを保持します。非常にシンプルです!
コード
使い方
- BitwardenのボルトをCSVにエクスポートします(設定 → ボルトのエクスポート)
- スクリプトを
bitwarden_dedup.pyとして保存します - エクスポートファイルが
bitwarden.csvという名前であることを確認します(またはinput_file変数を変更します) - 実行します:
python bitwarden_dedup.py - クリーンアップされたファイル
bitwarden_dedup.csvをBitwardenに再度インポートします
チェックされる項目
スクリプトは、以下のすべてのフィールドが一致する場合、エントリを重複と見なします:
- タイプ(ログイン、メモ、カードなど)
- 名前
- ログインURI
- ユーザー名
- パスワード
- メモ
1つでもフィールドが異なる場合、エントリは別々のアイテムとして保持されます。
重要な注意事項
クリーンアップ操作を行う前には、必ずボルトのバックアップを取ってください。重複削除されたファイルをインポートする前に、現在のボルトをエクスポートしておくことをお勧めします。
異なるフィールド(例えばユーザー名とURIのみ)に基づいて重複をチェックしたい場合は、コード内のkeyタプルを変更して、必要なフィールドのみを含めることができます。
このスクリプトはPythonの組み込みcsvモジュールとsetを使用して、既に確認したエントリを追跡するため、大規模なボルトでも効率的に動作します。