仕様と根拠
CSV の読み方
RFC 4180 の 2 節に沿って読みます。行の区切りは CRLF・LF・CR のどれでもよく、最後の行の改行は省略できます。値は二重引用符で囲めて、囲んだ値の中のカンマや改行、二重引用符("" と 2 つ重ねたもの)は値の一部になります。数量の "1,000" のように引用符で囲んだ桁区切りのカンマは取り除いて整数として読みます。
照合のしかた
それぞれの CSV で品番(前後の空白を除いた文字列、大文字小文字は区別)ごとに数量を合計し、2 つの合計を品番ごとに比べます。両方にあって数量が同じなら一致、違えば差を示します。片方にしかない品番はその旨を示します。
読めない行の扱い
品番が空の行、値が足りない行、数量が整数として読めない行は、行番号つきのエラーにして照合から除きます。閉じていない二重引用符もエラーです。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月29日 | 2 節の 1〜7(行区切り・最後の改行は任意・見出し行・各行の値・二重引用符の囲みと "" のエスケープ)。Informational(2005 年 10 月)で、実装により差がある旨の記載あり |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 品番の表記の違い(全角と半角、ハイフンの有無、大文字と小文字)は別の品番として扱います。事前に表記をそろえてください。
- 照合するのは品番と数量だけです。商品名・単価・金額・ロット・納品日は比べません。
- 数量は整数だけを読みます。小数や単位つきの数量(例: 3箱)は読めない行としてエラーにします。
- 区切り文字はカンマだけです。タブやセミコロンの区切りは先にカンマ区切りへ変換してください。
ご利用にあたって
- 照合の結果は貼り付けた CSV の内容にもとづく機械的な比較です。差が出た品番は、実物や元の伝票で確かめてください。
- CSV の規格(RFC 4180)は Informational で、実際のソフトの出力には差があります。読めない行は指摘に従って直してください。