解説
AIに頼んだCSV集計を検算する:対象行・除外条件・合計を揃える手順
AIの集計結果を、架空データとPythonで照合。行数・対象ID・除外条件を揃え、ID重複や空欄を見逃さない確認手順を試そう。

AIに表の集計を頼んだとき、もっともらしい説明だけで合計を採用していないかな。今回は、AIへの依頼に「何を合計するか」を添え、別の短いプログラムで件数と合計を照合する手順を作るよ。AIの計算能力を比べる記事ではなく、出てきた数字を自分で確認できる作業の組み立て方だよ。
最初に集計の約束を決める
例に使うのは、編集部が用意した架空の注文CSV。CSVは、表の行と列を文字で保存する形式だよ。実在する顧客情報や売上は使わない。
| id | item | quantity | unit_price_jpy | status |
|---|---|---|---|---|
| A01 | バナー | 1 | 800 | paid |
| A02 | アイコン | 2 | 500 | paid |
| A03 | 下書き | 1 | 300 | cancelled |
この例の約束は、paidの行だけを対象に、数量quantityと単価unit_price_jpyを掛けて合計すること。cancelledは除外する。金額は整数の円だけで、税・割引・外貨換算は扱わない。実際のデータへ使う場合は、そのルールを別に決めてからにしよう。
AIには対象と除外条件も渡す
次は、上の架空データと一緒に渡す依頼文の例。ファイルの添付可否や保存・学習の設定は使うサービスによって違う。業務データは組織が許可した環境で扱い、試すだけならこの架空データを使ってね。
このCSVについて、statusがpaidの行だけを集計してください。
各行はquantity × unit_price_jpyで計算します。
cancelledは除外します。税・割引・為替の計算はありません。
全行数、対象行数、除外行数、対象のid、行別金額、合計を分けて示してください。
ID重複・空欄・不明な状態・整数以外の数量や単価があれば、
推測で補わず、その行を示して集計を止めてください。
この依頼で必ず正解する、と保証するものではないよ。説明の文章ではなく、次の検算に必要な項目を揃えるための依頼なんだ。
Pythonで同じ条件を再計算する
検算にはPython 3.9以降を使う。追加ライブラリやAIのAPIキーは不要。ブラウザでPythonを実行する作例ではなく、自分の端末のターミナルで使うファイルだよ。
- 新しい空の練習フォルダを作る。
- 架空のorders.csvと検算用check_orders.pyを、そのフォルダへ保存する。
- テキストエディタで中身を確認する。スクリプトは指定したCSVを読み、結果を表示する。元ファイルの変更や通信は行わない。
- ターミナルでそのフォルダへ移動し、次を実行する。
python3 check_orders.py orders.csv
期待する結果は次のとおり。編集部のPython 3.9環境でも、この出力を確認したよ。
行数=3 / 対象=2 / 除外=1 / 合計=1800円
計算は800×1+500×2=1800。すべての3行を足すと2100になるので、合計だけでなく「対象2行・除外1行」も比較しよう。数量と単価を整数として検証してから計算するので、今回は小数の丸め規則を必要としない。
空欄や重複を黙って補わない
スクリプトは、見出しの名前と順番、列数、IDの重複、数量・単価の形式、状態の値を確認する。不正な行があれば、合計を成功結果として表示せず停止するよ。
たとえばA02のIDをA01へ変えたコピーでは、ID重複を知らせる。単価へ空欄や「1,000」を入れたコピーでは、整数形式の確認で止まる。元の練習ファイルは残し、失敗例はコピーで試してね。
Python公式のcsv資料では、読み込んだ値は通常文字列で、自動では数値に変換されないと説明されている。カンマを機械的に取り除いたり、空欄をすべて0へ変えたりする前に、入力の意味を確かめる必要があるんだ。
このサンプルは日本円の整数・paidとcancelledの2状態だけに対応する。返品、負数、小数、複数通貨、請求明細の税計算などをそのまま持ち込まないでね。
食い違ったときに戻る場所
| 症状 | 先に確認すること |
|---|---|
| 合計が2100円 | cancelledの行を含めていないか |
| 合計が1300円 | 数量2を掛け忘れていないか |
| 行数が違う | 読み飛ばし、空行、列の崩れがないか |
| スクリプトが見つからない | 保存場所と現在の作業フォルダが同じか |
| python3が見つからない | Pythonの導入と、端末で使うコマンド名を確認する |
結果が合わないまま文章だけを整えず、まず入力と条件へ戻ろう。異なるデータでの再計算は、その入力に合わせて検証条件も見直す。AIの回答を比較する観点は、出力比較のチェック表、依頼の組み立ては目的・素材・条件を分けるテンプレートにもまとめているよ。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。