【要約】取引先ごとに違うCSVを社内Excel形式へそろえる自動化の考え方 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
事務担当者が、取引先から届く多様なCSVを、手作業で社内Excel台帳へ転記する際に、深刻な人的ミスが発生している。入力データの形式が統一されていないため、以下の問題に直面している。
- ・商品コードの先頭ゼロが消失する。
- ・日付形式が意図せず変換される。
- ・列の貼り付け位置がずれる。
- ・空欄や不正なデータの検知が困難である。
// Approach
開発者は、入力側の仕様に合わせるのではなく、社内標準の出力形式を起点とした設計を採用すべきである。以下のステップで、業務の堅牢性を確保する。
- ・社内標準フォーマット(列名・意味・必須属性)を先に定義する。
- ・列名マッピングを用いて、取引先ごとの表記揺れを吸収する。
- ・pandasの
dtype=str指定により、データの欠落を防ぐ。 - ・「取込用」と「確認行」の2シート構成で、エラーを可視化する。
// Result
業務担当者は、全てのデータを精査する手間から解放され、エラーとして抽出された「確認行」のみに集中できる。これにより、以下の成果が得られる。
- ・確認すべき対象が明確になり、目視確認のコストが削減される。
- ・データの整合性を保ちつつ、自動化の恩恵を受けられる。
- ・業務判断を無理にコード化しないため、システムの保守性が向上する。
Senior Engineer Insight
> 本記事の価値は、コードの巧拙ではなく「エラーを隠蔽しない設計」にある。全ての揺れを自動補正しようとすると、業務ロジックがコードに埋没し、保守不能に陥る。エラー行を分離して人間へパスする設計は、不完全なデータが混入する実務環境において極めて合理的だ。スケーラビリティの観点では、マッピング情報の外部管理(ExcelやJSON)への移行タイミングを、運用コストとの兼ね合いで判断すべきである。