仕様と根拠
CSV の読み方
RFC 4180 に従い、1 行を 1 件のカード、カンマで区切った欄を表・裏として読みます。空白も欄の一部で、二重引用符で囲んだ欄の中のカンマや改行は値として扱い、欄の中の二重引用符は 2 つ重ねて表します。
重複の判定
表の列(裏も指定したときは表と裏の両方)が同じ行を重複とし、最初に出る行を残して、あとの行を削除の候補にします。無視する設定を選ぶと、前後の空白・全角半角・大文字小文字の違いをそろえてから比べ、元の文字が違うものは「正規化で一致」と区別します。
重複を除いた CSV
最初の行を残し、重複の行を取り除いた CSV を作ります。見出し行は必ず残します。引用符はカンマ・二重引用符・改行を含む欄にだけ付け直し、行の区切りは RFC 4180 の規則 1 のとおり CRLF にそろえます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月29日 | 2 節の 1〜7(CRLF 区切り・最終行の改行は任意・見出し・空白は欄の一部・二重引用符) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 判定の規則(無視する空白・全角半角・大文字小文字)はこの道具の定義で、RFC 4180 が定めるものではありません。意味が同じ別の表現は同じとは見なしません。
- カンマ区切り以外(タブ区切りなど)と、UTF-8 以外の文字コードは扱いません。Shift_JIS の CSV は UTF-8 で保存し直してから使います。
- 欄の数が行によって違うときは警告を出し、足りない欄は空として扱います。表の列が空の行は重複の判定から外します。
- 変換後の CSV は元の引用符の付け方・改行コードを再現しません。取り込み先の仕様は、各アプリの公式の説明で確認してください。
ご利用にあたって
- 重複の判定は貼り付けた CSV の文字だけにもとづきます。削除する前に、一覧で本当に同じカードかを確かめてください。
- 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。