こんにちは、こんです🦊
今回は「当選物コードと品番が合っているか不安…」「CSV変換が属人的でヒヤヒヤする…」そんなモヤモヤを解決すべく、品番変換&整合性チェックツールをStreamlitで作った記録です。
実験のきっかけ:ミスの温床になっていた“目視変換”
こんなこと、起きていませんか?
ECシステムから出力される当選物コード(例:A_001)と、倉庫が必要とする品番(例:A12345678)が一致しない
Excelマスタで「このコードはこの品番」と変換していたが、毎回手作業
出荷前にミスが発覚 → 急ぎで修正 → 間に合わない…
「自動で変換して、間違いもチェックできるようにしたい!」と思い立って、実装してみました。
作ってみたもの(システムの概要)
今回はこんな機能を持つツールを作成しました:
✅ Excelマスタをもとに当選物コードを品番・JAN・商品名へ変換
✅ 変換前・変換後の比較表示
✅ マスタに存在しないコードの自動検出
✅ 会員ID×出荷NOの1:1/1:多構造の分類と比較テーブル表示
✅ 結合配送先が異なる場合の配送業者統一ロジック
✅ 出荷NOごとに代表行を抽出 → CSV出力
実感したメリット
1. マスタを使った変換の再現性が担保された
Excelに正しいマスタさえ用意すれば、誰がやっても同じ変換結果に。
属人的な「覚えている人しかできない処理」から卒業できました。
2. 差異検知で“ヒヤリハット”を事前に回避
「配送先が一致していない」「配送業者が混在している」などの不整合も自動検知。
バッチ分けや顧客別の例外処理に漏れがなくなりました。
3. 「結合配送先」による相違チェックが非常に有効だった
都道府県や郵便番号、番地の違いなど微差レベルでも検知可能。
目視では見落とすような差異も確実に拾えました。
構成
【マスタ読み込み】:Excelファイルを選択し、品番・JAN・商品名を読み込み
【変換結果プレビュー】:変換前の当選物コードと変換後の品番等を並列表示
【配送先相違チェック】:同一会員IDの配送先の違いをdiffで明示
【代表行抽出】:出荷NO単位で代表行を1件抽出してCSV出力
次回予告:バッチ分けと「過去日指定」の自動設定に挑戦!
今回は「正しく変換する」ことが中心でしたが、
次は「いつ・どこに・何件出すか?」の自動バッチ処理ロジックを組んでいきます。
配送業者ごとの分割
過去日指定の末尾連番
出荷NO単位での代表データ抽出
など、実務で求められる一歩踏み込んだ処理にチャレンジ予定です。
まとめ:検証こそがDXの本丸かもしれない
今回の実験は、「集計」ではなく「変換と検証」に重きを置いたものでした。
属人化を防ぐには、“誰でも同じ判断ができる仕組み”が必要。
結合配送先やマスタ突合といった仕組みが、それを支える柱になり得ると実感しました。
それでは、また次の実験で!🦊
#Python #Streamlit #業務改善 #DX推進 #100日チャレンジ #Day66 #マスタ連携 #属人化排除 #データ検証 #EC運用