目次を開く
CSVのセル内に " を入れたいとき、JSONやプログラミング言語の癖で \" のように書きたくなります。しかし一般的なCSVでは、引用符の中の引用符をもう一つ重ねる形を使います。
フィールド全体を引用する
例えば商品説明に 12" monitor と入れたいなら、CSV上では次のような形になります。
sku,description
A001,"12"" monitor"
外側の引用符がフィールド境界、"" が値の中の1個の引用符です。
閉じ忘れは次の行まで壊す
片側の引用符だけが残ると、パーサーは後続のカンマや改行をフィールドの続きだと解釈することがあります。1行のミスが複数行の列ずれに見える理由です。
出力後に構造を検査する
説明文を大量に含む商品CSVでは、手作業で全引用符を見るのは現実的ではありません。CSVライブラリで書き出し、構造チェックを自動化します。
引用符崩れと列数不一致をまとめて見るなら、CSV Preflightをアップロード前に使えます。
本番投入前の最終チェック
引用符を含む値を数件取り出し、CSVパーサーで元の文字列へ戻ることを確認します。文字置換だけで直さず、引用符の開始・終了と内部エスケープをセットで検証します。
- 値内引用符を抽出した
""のエスケープを確認した- パーサーで再読込した
- 列数を比較した
- 原本を残した
見た目の引用符数ではなく、再読込した値が原文と一致することを完了条件にします。
バックスラッシュ置換を一括適用しない
CSVの引用規則とJSONなどのエスケープ規則は別物です。既存ファイルへ検索置換で \" や "" を大量投入すると、すでに正しいフィールドまで壊すことがあります。まずパーサーで問題行を特定し、修正後に再読込して、引用符を含む原文・行数・列数がすべて一致することを確認します。生成処理が原因なら、個々のCSVではなく出力ロジック側を直す方が再発防止になります。