仕様と根拠
数え方
CSV は RFC 4180 の 2 節に沿って読みます。データの行(見出しを除く)ごとに、列の値が空欄か、何文字かを数えます。空欄は、前後の空白(半角スペース・全角スペース・タブ・NBSP)を除くと空になる値で、空欄率は空欄の数をデータの行数で割った割合です。
長さの分布と内容
長さは元の値の文字数(絵文字などは 1 文字)で、空欄を除いた値について、最短・最長と、文字数ごとの件数を多い順に示します。内容の欄は、空欄以外の値がすべて半角の数字なら「すべて数字」、そうでなければ「数字以外を含む」、値が 1 つもなければ「値なし」です。
警告にする条件
空欄率がしきい値以上で空欄が 1 つ以上ある列、空欄以外の値がすべて数字なのに文字数が 2 種類以上ある列、すべての行が空欄の列を警告にします。値の数が見出しと違う行は、列の対応がずれるため集計に含めず、行番号を警告で示します。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月28日 | 2 節の 1〜7(CRLF の行区切り・見出しの行・各行の欄数・空白も欄の一部・二重引用符の囲み) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 値の意味(日付・金額・郵便番号として正しいか)は判定しません。見るのは空欄の割合と文字数だけです。
- 「すべて数字」は半角の 0〜9 だけの値です。全角数字、ハイフン入りの郵便番号(123-4567)、符号や小数点つきの数は「数字以外を含む」になります。
- ファイルは UTF-8 として読みます。Shift_JIS の CSV は文字化けするため、UTF-8 として保存し直してから使います。
- 空欄を表す別の表記(NA・null・-)は空欄として数えません。必要な場合は値を空にしてから使ってください。
ご利用にあたって
- 集計は貼り付けた CSV の行だけにもとづきます。一部の行だけを抜き出した CSV では、全体の空欄率と違うことがあります。
- 大きなファイルはお使いの端末の性能によって処理に時間がかかることがあります。