CSV / Guide / 2026-09-22

CSVの列数が合わない原因|カンマ・ダブルクォート・改行を確認する

CSVで一部の行だけ列数が増減する原因を、区切り文字・引用符・セル内改行・壊れたレコードの観点から整理する。

CSVで「3列のはずなのに4列になる」「途中の行からずれる」という症状が出たら、最初に見るのは値の中のカンマ、ダブルクォート、改行だ。

カンマを含む値

3列のCSVで、値そのものにカンマを含めたい場合、そのフィールドを適切に引用する必要がある。引用されていないカンマは、新しい列の区切りとして解釈されることがある。

ダブルクォートを含む値

引用されたフィールド内でダブルクォート自体を表現する場合、一般的なCSV規則では二重化して扱う。

引用符が途中で閉じていないCSVは、後続のカンマや改行まで同じフィールドだと解釈され、複数行を巻き込むことがある。

セル内改行

備考欄や住所欄には改行が入ることがある。セル内改行を含む値は、引用符で正しく囲まれていれば1フィールドとして扱えるCSVも多い。

しかし行単位で単純分割する処理では壊れる。CSVは「1行ずつ文字列分割すれば読める」とは限らない。

一部の行だけ列数が違うとき

  1. ヘッダーの列数を数える
  2. 壊れている最初の行を特定する
  3. その行のカンマを確認する
  4. 引用符が対になっているか確認する
  5. 直前の行から引用状態が続いていないか確認する
  6. CSVパーサーで再読込する

「壊れた行」ではなく、その前の行の閉じ忘れが原因の場合もある。

手でカンマを消す前に

値の中に必要なカンマがあるなら、それを削除するのはデータ改変になる。構造エラーなのか、値そのものなのかを切り分ける。

大量CSVを正規表現や単純な文字列分割だけで検査すると、引用されたカンマや改行を誤判定しやすい。CSVの引用ルールを理解するパーサーで読み、ヘッダーと各レコードの列数を比較する。

関連: CSVインポート前チェックリスト

壊れ方を試すための無料サンプルCSVも公開している。

列ずれを直すときは、最初に壊れたレコードと、その直前の引用状態を見るのが近道だ。