無料オンラインツール
CSV 列数チェックツール
このツールの入力データはブラウザ内で処理します
CSVの各行の列数・項目数をチェックし、ヘッダーと一致しない行を検出できる無料ツールです。CSVが読み込めない、インポートできない場合の原因確認にも利用できます。
CSVファイルを選択
各CSV recordの列数・項目数を確認し、基準と一致しないデータ行を検出します。
ここにCSVファイルをドロップ
または
対応形式:CSV(UTF-8・最大20 MB)
ファイルはサーバーへ送信されません。すべてブラウザ上で処理されます。
チェック設定
チェック結果
✓ すべてのデータ行で列数が一致しています。
列数が一致しないデータ(先頭50件)
| データ行 | 実際 | 基準 | 状態 |
|---|
CSVの列数・項目数とは?
CSVの列数とは、1つのrecordに含まれる項目の数です。name,age,city は3列で、対応する Taro,20,Tokyo も3列です。ヘッダー付きCSVを業務システムへ取り込む場合、通常は各データrecordがヘッダーと同じ項目数であることを求められます。このツールは各recordを比較し、列数が不足または超過している場所をデータ行番号で示します。
CSVの列数が合わない主な原因
- データ生成時に必要なカンマが不足している
- 値の中に余分な区切りカンマが入っている
- ダブルクォートが正しく閉じられていない
- 一部recordで項目そのものが欠けている
- カンマではなくタブやセミコロンで区切られている
- セル内の改行をCSV構造として扱わず、単純に行分割している
CSVの項目数が行ごとに違うと、値が別のcolumnへずれたり、CSVインポートエラーで読み込めなくなったりする場合があります。
カンマの数だけでCSVの列数を確認できない理由
Taro,"Tokyo, Japan",20 はカンマが3つ見えますが、引用符内のカンマはaddress fieldの一部なので実際は3列です。また、"hello のように引用符で囲まれたfieldには改行も含められます。本ツールはカンマ数に1を足したりテキストを単純に改行分割したりせず、共通CSV parserでquoted comma、quoted newline、escaped quoteを解析してからcolumn数を確認します。
world"
空欄があっても列数は減らない
a,,c は中央の値が空でも3列です。a,b, も末尾の空fieldを含む3列として扱います。同様に、3列CSVの ,, は値がすべて空でも列数は正常です。このツールでは空recordを削除しません。不要な空recordを整理したい場合はCSV 空行削除ツールを利用できます。
CSVがシステムに取り込めない場合の確認ポイント
- ヘッダーとデータの列数が一致しているか
- 区切り文字は取込仕様と合っているか
- ダブルクォートは正しく閉じているか
- 文字コードは正しいか
- UTF-8 BOMの有無は適切か
- ヘッダー名に重複や空欄がないか
列名の問題はCSV ヘッダー確認ツール、区切り文字はCSV 区切り文字変換ツール、文字化けは文字コード判定ツール、BOMはUTF-8 BOM 追加・削除ツールで確認できます。
Excelで編集したCSVの列数がおかしい場合
Excelが必ずCSVを壊すわけではありません。ただし、列の削除、値に含まれるカンマ、再保存時の形式や区切り文字の変更などが取込結果へ影響する場合があります。元データでは正常だったCSVがExcelでの編集後に読み込めない場合は、保存形式、Header、区切り文字、列数を順番に確認してください。
列数が不一致になるCSV例
id,name,address
1,山田太郎,東京都
2,佐藤花子,東京都,新宿区
3,鈴木一郎,ヘッダー、1行目、3行目は3列ですが、2行目はカンマが区切りとして解釈され4列です。住所を1つの値として保持するなら、2,佐藤花子,"東京都,新宿区"のように引用します。
画面上の1行とCSVの1レコードは同じとは限らない
id,name,address
4,高橋美咲,"東京都新宿区
西新宿1-1"引用符内の改行はセル内容なので、このデータ行は1レコード・3列です。split("\n")では2行に分かれ、split(",")では引用符内カンマまで列として数えます。CSVの引用符規則を理解するパーサーが必要です。
修正するときに値を勝手に分割しない
東京都,新宿区が1つの住所なのか、都道府県と市区町村の2列なのかはCSVだけでは判断できません。今回の仕様が3列なら引用符で囲みますが、取込先が4列を要求するならヘッダー側の設計を直します。
3,鈴木一郎,は「住所が空の3列」であり、最後のカンマを削ると2列になります。不要な列を消す場合は、ヘッダーを含む全レコードから同じ列を削除します。
列数不一致を調べる手順
- 原本を保管し、取り込み仕様で必要な列数を確認します。
- CSVを選択し、ヘッダーの有無と基準列数を設定して[列数をチェック]を押します。
- 表示されたデータ行だけでなく、直前から続く引用符も確認します。
- 取込仕様が要求する区切り文字、ヘッダー有無、空欄列を照合します。
- 修正後のファイルを選び直して全体を再チェックし、不一致が0件になったことを確認します。
複数の問題が疑われる場合はCSV文字コード・総合診断も使えます。ツールが示す行はCSV上の論理レコードであり、テキストエディターの物理行番号とずれる場合があります。列数がそろっても取り込み成功を保証するものではないため、列名や必須値も仕様と照合して少量のデータでテストしてください。
FAQ
CSVの列数はどうやって確認しますか?
CSVを構造として解析したうえで、各recordのfield数を基準列数と比較します。
CSVのカンマ数を数えれば列数が分かりますか?
必ずしも分かりません。引用符で囲まれた項目内にはカンマを含められるためです。
CSVの列数が行ごとに違っていても問題ありませんか?
用途によりますが、業務システムへの取り込みでは同じ列数が要求されることが多くあります。
空欄のセルは列数に含まれますか?
はい。「a,,c」は3列です。
最後の項目が空欄でも列数に含まれますか?
はい。「a,b,」は3列として扱います。
CSVに改行を含むセルがある場合も確認できますか?
はい。引用符で囲まれたセル内の改行を考慮して解析します。
ヘッダーとデータの列数を比較できますか?
はい。Headerモードでは1行目の列数を基準としてデータ行を確認します。
ヘッダーのないCSVも確認できますか?
はい。Headerをオフにすると最初のrecordを自動基準にし、すべてのrecordをチェックします。手動指定も可能です。
CSVが読み込めない原因は列数だけですか?
いいえ。文字コード、区切り文字、引用符、BOM、Headerなどが原因の場合もあります。
CSVファイルはサーバーに送信されますか?
いいえ。ファイルの解析と確認はすべてブラウザ上で行います。