CSV / 行境界・列ずれガイド

CSVの列ずれを引用符と改行から切り分ける

カンマが多いからといって列ずれとは限りません。引用符の中のカンマやセル内改行は1つのセルです。引用符を解釈した後の列数が合わない行だけを、壊れたデータとして切り分けます。

カンマを数えるだけでは判定しない

正しい解釈確認
"山田,太郎"カンマを含む1セル引用符の閉じ位置
"line 1
line 2"
改行を含む1セル引用符内の改行
001,山田3列のはずなら不足行のフィールド数

正しいCSVの行境界は、引用符を解釈した後のフィールド数で確認します。

合成fixtureで再現する

quoted.csvは引用符内のカンマと改行を含む正例、ragged.csvはフィールド不足の負例です。正例は2行・3列で、1つのセルに2行のメモが入ります。

id,name,note
001,"山田,太郎","line 1
line 2"
002,"佐藤花子","single line"

負例の不足値を推測して埋めず、送信元へ確認してから修正します。

Web-Toolで検算して渡す

  1. 元CSVを保管し、作業用コピーを作る。
  2. 表をExcelへで読み込み、引用符内のカンマ・改行が1セルか確認する。
  3. 行数・列数・ヘッダー・複数行セルを確認してから出力する。
  4. 受取人へ検算結果と、不足行の修正根拠を渡す。

このガイドと表をExcelへはブラウザー内で処理します。元ファイルや入力内容を外部へ送信しません。

推測で直さないケース

引用符が途中で切れている、改行が閉じていない、列数が不足している場合は、見た目だけで値を補いません。原本と送信元を確認してから修正します。