しごと自動化レシピ

RECIPE / 07 Excel・CSV

CSVの入力ミスを、行番号付きで一覧にする

空のid・idの重複・金額の形式違いをチェック。修正する行を絞ります。

できあがるもの

input_rowsは3、output_rowsは2。CSVのヘッダーを1行目とした行番号3と4が出力されること。

入力サンプル

3行の明細。2行目の明細に重複idと不正金額、3行目の明細に空idとNaNがあります。

1. 実行環境を準備する

Python 3.11以上を想定したサンプルです。最新の実行検証環境は、ページ末尾の検証結果リンクで確認できます。追加ライブラリは不要です。Python未導入の方は公式配布元から環境を用意し、次のコマンドでバージョンを確認してください。

python --version

社内PCで導入権限がない場合は管理者に確認してください。入力はUTF-8のCSV、出力はExcelで開きやすいUTF-8 BOM付きです。必要なストレージ容量は入力サイズに応じます。

2. サンプルを展開して実行する

↓ サンプル一式をダウンロード(ZIP / v1.0)

ZIPを新しい作業フォルダに展開します。Windowsのエクスプローラーでそのフォルダを開き、アドレスバーに powershell と入力してEnterを押します。recipe_toolkit.pyとsamplesフォルダが見える場所で、次を実行してください。

python recipe_toolkit.py validate samples/invalid.csv errors.csv

idとamount列が必要です。idの重複、空のid、対応形式に合わないamountを検査します。amountは符号付き整数15桁以内、小数点以下2桁以内で、指数表記は不可です。line列は対象レコード末尾の物理行番号です。引用符内に改行がある場合は、そのレコードの最終行を指します。負数は許容します。日付や顧客番号の存在確認など、ここに書いていない業務ルールは検査しません。エラーが0件ならヘッダーだけの出力になります。

コマンド内の出力先 errors.csv は、まだ存在しない名前にします。既存の出力先への上書きは拒否します。入力フォルダの中を出力先にする指定も拒否します。

3. 結果を確認する

input_rowsは3、output_rowsは2。CSVのヘッダーを1行目とした行番号3と4が出力されること。

コマンドが表示するJSONの件数と、実際の出力内容を突き合わせてください。終了メッセージだけで完了と判断せず、サンプルの期待結果と一致することを確認します。

止める・やり直す

処理中に止めるにはターミナルでCtrl+Cを押します。元の入力ファイルは変更しないため、入力の復元作業は不要です。出力が残った場合は内容を確認し、別名の出力先で再実行してください。

列名やCSVの列数が崩れている場合は、エラー一覧ではなく処理自体を止めます。入力形式を直してから、別の出力名でやり直してください。

業務データに広げる前に

入力のコピーを作り、小さな範囲から試してください。出力CSVは元の値をそのまま保持します。外部から受け取ったCSVには表計算ソフトで数式として解釈される値が含まれる場合があるため、内容が不明なファイルをそのまま開かないでください。

検証と対応範囲

サンプルv1.0の実行状況は下記の検証結果で確認できます。statusがpassedのとき、記載された環境でサンプル実行と上書き拒否を確認したことを示します。zip_sha256が配布ファイル一覧の値と一致することも確認してください。未検証の環境での動作は未確認です。GUI操作や定期・無人実行はこのレシピの対象外です。

初回設定や実行にかかる時間、実業務での短縮時間は未計測です。内容の正しさを個別の業務ルールまで保証するものではありません。

配布ファイルのSHA-256・バージョンを見る · サンプル実行の検証結果を見る

変更履歴

2026-10-17:初版。Pythonによる手動実行の手順を公開。

次に試すレシピ

フォルダの中身を、CSVの一覧表にする →