GGPT Master GuideAIを、日々の作業に。

CodexでCSVの列ずれを調べる

公開 2026-09-12 更新 2026-09-12

CodexでCSVの列ずれを調べる

関連テーマ:表とデータの内容を確かめる

CSVを取り込んだら列がずれたとき、カンマを一つ消すだけでは別の情報を壊すことがあります。Codexには、区切り文字・引用符・列数を確認し、変更前に問題の候補を報告してもらえます。

CSVは表をテキストとして保存する形式です。ここでは三列の小さな説明用データを使い、「列の中のカンマ」と「列の不足」を見分けます。実際の表は先にコピーして、元ファイルを残します。

引用符の中は一つの値になる

次の例を見ます。一行目は列名です。

id,title,note
001,読書会,"本,付箋"
002,買い物

本,付箋 は引用符で囲まれているため、一つの値として読めます。一方、最後の行には二つの値しかありません。文字としてのカンマを数えるだけでは、どちらの行が問題かを正しく判断できません。

Pythonの標準 csv モジュールは引用符などを扱って読み取ります。ファイルを使う場合は文字コードと改行の扱いも合わせます。拡張子が .csv でも、出力元によって区切りや記法が異なる場合があります。

各段階で確認してから、次の操作へ進みます。

図解CodexでCSVの列ずれを調べる:進める順番
  1. 1形式を確認区切り・引用符・期待する列数を決めます。
  2. 2構造を読む引用符内のカンマと不足列を区別します。
  3. 3意味を確かめる空欄の扱いを決めて別名へ直します。

具体的な依頼と、結果の確かめ方は本文にあります。

形式を確かめ、行の構造を読み、それから意味に合わせて修正します。空欄をゼロで埋めるのは、この点検とは別の判断です。

変更せずに列数を報告してもらう

このCSVを読み取り、列ずれの候補を報告してください。
先頭行はid,title,noteの三列、区切りはカンマ、引用符はダブルクォートです。
引用符内のカンマを別列として数えず、期待する列数と異なるレコードを示します。
元の文字列、読み取った列、問題の理由を表示してください。
空欄の補完、行の削除、数値への変換、ファイル保存はまだ行いません。

この例なら、ID001は三列で note本,付箋、ID002は二列です。改行を含む値もあるCSVでは、画面上の行番号とレコード番号が一致しないことがあります。問題の場所は元の内容も合わせて確認します。

短い処理で読み方を確かめる

Pythonがある環境で、ファイルを作らずに次の文字列を読む例です。コードを実行する場所が分からない場合は、Codexに説明だけを依頼しても構いません。

import csv
import io

sample = 'id,title,note\n001,読書会,"本,付箋"\n002,買い物\n'
rows = list(csv.reader(io.StringIO(sample, newline='')))
print(rows[1])
print(len(rows[2]))

編集環境のPython 3.12.14で、最初の出力は ['001', '読書会', '本,付箋']、次は 2 になることを確認しました。これは標準ライブラリの読み取り確認で、Codexモデルの検出精度の測定ではありません。

足りない列の意味を決めてから直す

ID002のメモが本当に空欄でよいと確認できたなら、行末へ区切りを追加し 002,買い物, にする案があります。元データが欠けている可能性があれば、出力元に戻って確認します。

ID002のnoteは空欄で正しいと確認しました。
そのレコードを三列にそろえ、別名のitems-checked.csvへ保存してください。
他の値、順序、IDの先頭ゼロは変更しません。保存先が存在したら上書きせず報告します。
再度読み取り、全レコードが三列で、ID001のメモが保持されるか確認してください。

修正版が期待どおりに取り込めなければ、元ファイルをそのまま使い、出力先の形式を確認します。文字自体が読めない場合は文字化けの確認、重複した行の整理は完全一致とID一致の違いへ進めます。

このテーマを続けて読む

列ずれ・重複・型・文字コードを確認し、元の情報を残して変換します。

表とデータの内容を確かめるの記事をまとめて見る