CSVで列がずれるとき、カンマより先に引用符と改行を見る

記事
IT・テクノロジー
CSVを取り込んだら、ある行から商品名が価格列へ入り、後ろの列が全部ずれてしまった。こうした場合、列数を増やす前に、ずれ始めた行の引用符と改行を確認します。

CSVでは通常、カンマが列の区切りです。ただし商品名が「赤, 大サイズ」のように値の中にもカンマを含む場合、値全体をダブルクォートで囲む必要があります。値の中にダブルクォート自体がある場合は、CSVの仕様に合わせて二重化します。

【ずれ始めた行の1つ前から確認する】
引用符の閉じ忘れは、その行だけでなく後続行の解釈にも影響します。エラー表示が100行目でも、実際に壊れているのは99行目の備考欄ということがあります。

問題が起きやすいのは次のケースです。
・開始の引用符はあるが、終了の引用符がない
・説明文内の引用符が正しくエスケープされていない
・セル内改行を取込先が許可していない
・タブ区切りのファイルをカンマ区切りとして扱っている
・Windowsとその他の環境で改行コードが異なる

【Excelで見える表だけでは判断しない】
Excelで開くと、引用符や区切り文字が解釈された後の表が表示されます。表が整って見えても、別システムへ保存・取込したときだけ列ずれすることがあります。

修正前に、元CSVのコピー、エラー全文、ずれ始めた行番号、以前取り込めたCSVの同じ列、取込先が指定する文字コード・区切り・引用符・改行の条件を残します。

「とりあえずExcelで開いて上書き保存」は、文字コード、日付、先頭ゼロまで変える可能性があります。原因を1つずつ確認して、別名で保存します。

【改行を全部消せばよいとは限らない】
商品説明の改行を許可する取込先もあります。改行を一律削除すると、説明文の意味や見やすさを壊します。先に改行がある行と列を一覧にし、その列だけ取込仕様と照合します。

改行・タブ・余分な空白を行別検出するExcel

個人情報や顧客データを送る前には、診断に不要な列を削除またはマスキングしてください。必要な範囲だけで原因を切り分けられます。

CSV取込エラー診断・修正サービス

#CSV #CSV取込 #Excel #文字化け #データ整形
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す