一部の行だけ列がずれる
ExcelでCSVの列ずれが起きたとき、末尾カンマを一括削除しない
CSVをExcelで開くと、特定の行だけ右へずれる。問題行の末尾にカンマがあっても、それは空欄の最終列を表す正常な記号かもしれません。カンマの数だけで直さず、ヘッダーの列数、引用符、空行を分けて確認します。
正常行と問題行を同じサンプルで見分ける
ヘッダーは3列です。商品Aの末尾カンマは空の備考列なので正常です。商品Bは4列、空行が1つ、商品Cは完全一致で重複しています。
- 商品A:3列。修正しない。
- 商品B:4列。余分な値を自動では捨てない。
- 空行:削除候補。
- 2件目の商品C:完全一致の重複候補。
商品名,金額,備考
商品A,100,
商品B,200,メモ,余分な値
商品C,300,
商品C,300,列ずれの原因を症状から絞る
| 症状 | 主な原因 | 確認箇所 |
|---|---|---|
| 一部行だけずれる | 引用符・列数不一致 | 問題行のカンマとダブルクォート |
| 全体が1列 | 区切り文字 | カンマ・セミコロン・タブ |
| 文字が読めない | 文字コード | UTF-8・Shift_JIS |
一部行だけずれる
- 主な原因
- 引用符・列数不一致
- 確認箇所
- 問題行のカンマとダブルクォート
全体が1列
- 主な原因
- 区切り文字
- 確認箇所
- カンマ・セミコロン・タブ
文字が読めない
- 主な原因
- 文字コード
- 確認箇所
- UTF-8・Shift_JIS
「CSVの問題を直す」で候補を確認する
- CSVを選び、文字コードと区切り文字を確認する。
- 各行を1行目の列数と比べ、列数のずれ、空行、完全一致重複の修正候補を確認する。
- 修正前、候補、確認した理由、前後の行を見て、適用する項目だけ選ぶ。
- 適用数と未修正数を確認し、元ファイルとは別のCSVを保存する。
自動候補と人の判断を分ける
- 物理的な空行と、ヘッダーより右にある空セルだけは選択済み候補になる。
- 短い行、値のある余分な列、完全一致重複は初期状態で選ばれない。
- 1行目が正しいヘッダーか、値そのものが正しいかは自動判定しない。
出力後は先頭ゼロと日付も確認する
整形後のCSVはUTF-8 BOM付きです。Excelで開いたときの先頭ゼロ、長い番号、日付の自動変換は別問題なので、取込前に数件を確認します。
文字化けや任意キーの重複削除は別機能
文字コードが原因なら文字コード変換、注文IDなど任意列で重複を消すなら重複削除を使います。「CSVの問題を直す」は、ヘッダーを基準に判断できる列数のずれや空行などを扱います。