製造業でPythonを使って業務を自動化する方法を書きます。
私は生産管理を担当しながらPythonを独学し、毎日1時間かかっていた生産実績の集計を5分で済ませることができました。エンジニアではありませんでしたが、コードを書けなくても今はChatGPTがあるので問題ありませんでした。
この記事では、製造業でPythonが実際に使える5つの場面を体験をもとに書きます。
「勉強したはいいけど、自分の業務にどう使えばいいか分からない」という人が、読み終えたときに「これなら自分でもできそう」と感じられることを目指します。
結論:製造業のPython自動化は「毎月繰り返す手作業」から始める
製造業でPythonが最も力を発揮するのは、毎月・毎週・毎日繰り返している手作業です。
計算・集計・ファイル操作・レポート作成——これらは全部Pythonで自動化できます。コードを自分で書く必要はなく、ChatGPTに「やりたいこと」を日本語で伝えれば動くコードが出てきます。
私が生産管理時代に一番時間を奪われていたのが、
各部門からのExcelを集めて一覧にまとめる作業でした。
- Excelファイルを一つひとつ開く
- 基幹システムのデータを貼り付ける
- 別シートに転記して一覧表を作って共有する
これが毎日1時間かかっていました。
Pythonで自動化したあとは5分で終わるようになりました。そんな嘘な。と思わず「もっと早くやればよかった」と本気で思いました。
この記事が向いている人・向かない人
向いている人
- 製造業・工場勤務で、毎月同じ集計やExcel作業を繰り返している
- コードを書いた経験がないが、業務を楽にしたいと思っている
- ChatGPTやAIツールをうまく活用したいと思っている
- 今のExcelファイルをそのまま使いたい(新しいシステムを入れたくない)
向かない人
- DjangoやFlaskで社内Webシステムをゼロから構築したい
- IoTセンサーのリアルタイムデータ収集・制御がしたい
- 本格的なデータエンジニアリングやAIモデル開発を学びたい
これらが目的なら、別の記事や教材の方が合っています。
この記事は「今あるExcel業務をそのまま自動化する」非エンジニア向けの内容です。
製造業でPythonが使える5つの自動化場面
使い道は5つです。
- ① 生産実績の自動集計
- ② 在庫・発注管理の自動化
- ③ 品質データの分析・可視化
- ④ レポート・帳票の自動作成
- ⑤ 計算ツールのWeb化
それぞれ詳しく見ていきましょう。
① 生産実績の自動集計|1時間→5分になった話
製造業の集計業務は、Pythonで一番効果が出やすい場面です。
各ラインや部署のExcelファイルを一枚に統合して集計する——これが手作業だと毎日静かな1時間が必要になるケースがあります。私のいた工場でも、データ集計が苦手な人は月次の生産報告書を作るのに丸1日使っていました。
Pythonのライブラリ pandas を使えば、
フォルダ内の全Excelを読み込んで縦結合・集計・グラフ出力まで一気にできます。
import pandas as pd
import glob
# フォルダ内のExcelをすべて読み込む
files = glob.glob(r"C:\生産実績\2026年3月\*.xlsx")
df_list = [pd.read_excel(f) for f in files]
df_all = pd.concat(df_list, ignore_index=True)
# ライン別集計
summary = df_all.groupby("ライン名")["生産数"].sum().reset_index()
summary.to_excel("月次集計結果.xlsx", index=False)
print("集計完了:", len(files), "ファイルを処理しました")
このコードを毎月実行するだけで、集計は終わりです。Excelを一つひとつ開く必要はありません。
日報・週報の自動集計については → 日報をPythonで自動集計する方法
② 在庫・発注管理の自動化|「発注忘れ」がなくなる仕組み
在庫の閾値チェックと発注アラートは、Pythonで完全自動化できます。
「在庫が少ないのに気づかず欠品した」という経験はありませんか。手作業でExcelを確認する方法だと、確認タイミングによってはギリギリになるケースがあります。
Pythonを使えば、在庫データCSVを毎朝自動で読み込んで、発注点を下回った品目だけをメールで通知する仕組みが作れます。
import pandas as pd
df = pd.read_csv("在庫管理.csv", encoding="utf-8-sig")
# 発注点以下の品目を抽出
low_stock = df[df["在庫数"] <= df["発注点"]]
if len(low_stock) > 0:
print(f"【要発注】{len(low_stock)}品目が発注点以下です")
print(low_stock[["品番", "品名", "在庫数", "発注点"]].to_string(index=False))
else:
print("在庫は問題ありません")
私がいた部署では、月に1〜2回は「気づいたら在庫が0になっていた」という問題が起きていました。このスクリプトをWindowsタスクスケジューラで毎朝8時に実行するようにしてから、欠品ゼロが続いています。
発注点チェックの詳しい実装は → 在庫管理をPythonで自動化する方法
③ 品質データの分析|手作業では気づけないトレンドが見える
Pythonのグラフ機能を使えば、品質データの傾向を視覚化できます。
ロット別の不良率、ライン別の傾向、月次の推移——これをExcelでグラフ化しようとすると、毎回セルを選んでグラフウィザードを動かす手間が発生します。Pythonなら、データを読み込んだらグラフ生成まで自動です。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc('font', family='Meiryo')
df = pd.read_csv("品質データ.csv", encoding="utf-8-sig")
df["年月"] = pd.to_datetime(df["検査日"]).dt.to_period("M").astype(str)
# 月別不良率の集計
monthly = df.groupby("年月").agg(
検査数=("検査数", "sum"),
不良数=("不良数", "sum")
).reset_index()
monthly["不良率"] = monthly["不良数"] / monthly["検査数"] * 100
plt.figure(figsize=(10, 4))
plt.bar(monthly["年月"], monthly["不良率"])
plt.title("月別不良率推移")
plt.ylabel("不良率 (%)")
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig("不良率推移.png", dpi=150)
print("グラフを保存しました")
手作業では「今月の数値だけ見て終わり」になりがちですが、グラフ化すると「3月から徐々に上がってきている」という傾向が一目でわかります。問題を早期に発見できるのが大きいです。
④ レポート・帳票の自動作成|月末の残業がなくなる
月次報告書・週次レポートは、データが揃ったら自動生成できます。
「毎月末にExcelを埋めて、PDFに変換して、メールで送る」という業務は全部Pythonにやらせられます。
私が一番感動した使い道がこれです。月次レポートを作るために毎月末に2時間残業していたのが、スクリプトを実行するだけで10分以内に完成するようになりました。
from openpyxl import load_workbook
# テンプレートExcelを読み込む
wb = load_workbook("月次報告書_テンプレ.xlsx")
ws = wb.active
# 自動で数値を埋める
ws["C3"] = 15420 # 今月の生産数
ws["C4"] = 14 # 不良件数
ws["C5"] = 0.09 # 不良率(%)
wb.save("月次報告書_2026年3月.xlsx")
print("レポート生成完了")
実際の業務では、このコードを集計スクリプトと連携させて「集計→テンプレートに転記→保存」まで一連の流れにします。月末に1回実行するだけで帳票が完成する状態にできます。
⑤ 計算ツールのWeb化|ExcelをURLに変える
現場の計算式をWebアプリにして、全員が使える状態にできます。
これが私にとって一番インパクトのある使い道でした。フィルムパッケージの製造現場では、重量計算・巻き径計算・面積計算など、毎日使う計算式がExcelに散らばっていました。
「どのファイルが最新版?」「これって誰が作った式?」という混乱が続いていたため、計算式をWebアプリにして全員が同じものを使えるようにしたのが filmtools.jp を作ったきっかけです。
Streamlitを使えば、Pythonだけでブラウザで動くWebツールが作れます。
import streamlit as st
st.title("フィルム重量計算ツール")
area = st.number_input("面積(㎡)", min_value=0.0, step=0.1)
thickness = st.number_input("厚み(μm)", min_value=0.0, step=1.0)
density = st.number_input("比重", min_value=0.0, value=1.4, step=0.01)
if st.button("計算"):
weight = area * (thickness / 1_000_000) * density * 1000
st.success(f"重量:{weight:.3f} kg")
streamlit run app.py で起動するだけで、ブラウザで動くツールが完成します。これを社内サーバーや無料のクラウドに置けば、URLを共有するだけで全員が使えます。「計算式のExcelが複数あって最新版が分からない」という問題を根本から解決できます。
ChatGPTと組み合わせれば、コードが書けなくてもできる
「Pythonを使いたいけど、コードが書けない」という人が一番多い理由です。
ただ、2026年現在は状況が変わっています。ChatGPTに「やりたいこと」を日本語で伝えれば、動くコードが出てきます。
たとえば、こう伝えるだけです。
「C:\生産実績フォルダにある複数のExcelファイルを読み込んで、ライン名ごとに生産数を集計し、月次集計結果.xlsxとして保存するPythonコードを書いてください。Excelの列名は『ライン名』と『生産数』です。」
これで①の集計コードとほぼ同等のものが出てきます。エラーが出たら、エラー文をそのままChatGPTに貼れば修正してくれます。
コードを書く力より、「自分の業務を仕様として言語化する力」の方が大事です。「何を・どのファイルから・どこに出力したいか」を明確にできれば、Pythonを使える状態になります。
製造業でPythonを使うためのハードル別整理
| ハードル | 対応方法 |
|---|---|
| コードが書けない | ChatGPTに仕様を日本語で伝えれば出てくる。書かなくていい |
| インストールが難しい | Google ColabならPCに何もインストール不要 |
| 会社PCで動かせない | まずColabで確認、本番はタスクスケジューラへ移植 |
| エラーが怖い | エラー文をそのままChatGPTに貼れば解決策が出る |
| 何から作ればいいかわからない | 「毎月手作業で一番時間がかかっている作業」から始める |
製造業でPythonを始める最短3ステップ
PythonをゼロからはじめてPython製造業の業務に使うまでの流れは3段階です。
第1段階:Google ColabとChatGPTで試す(1週間)
インストールなし。ブラウザだけで動きます。ChatGPTにコードを出してもらい、Colabで動かす体験をするだけでOKです。「本当に動いた」という体験が全ての出発点です。
第2段階:自分の業務に合ったツールを1本作る(1ヶ月)
毎月手作業でやっている集計や転記を1本自動化してみます。完成したときの「あ、本当に動いた」という感覚が次のモチベーションになります。
第3段階:Windowsタスクスケジューラで定期実行化する(追加1週間)
作ったツールを「毎日9:00に自動実行」する設定にすれば、本当に何もしなくても結果が出てくる状態になります。ここまで来ると、Pythonが「勉強したもの」ではなく「毎日仕事をしてくれているもの」に変わります。
まとめ
- 製造業でPythonが使える場面は5つ:実績集計・在庫管理・品質分析・帳票作成・計算ツールWeb化
- 一番効果が出やすいのは「毎月繰り返している集計業務の自動化」
- コードは書かなくていい。ChatGPTに「やりたいこと」を日本語で伝えれば動くものが出てくる
- まずGoogle Colabで1本動かしてみるのが最短ルートです
Pythonを学ぶなら、「業務改善」という目的を先に決めておくと続きます。目的のない勉強は2週間で止まりますが、「自分の職場の集計作業を自動化する」という目標があると、エラーが出ても諦めずに調べ続けられます。
次のステップ
具体的な実装まで進みたい方は、以下の記事でコードを手に入れられます。
- 発注忘れ・欠品を防ぎたい方 → 在庫管理をPythonで自動化する方法
- 日報・生産実績の集計を自動化したい方 → 日報をPythonで自動集計する方法
現場の計算ツールが実際にどんなものになるか見てみたい方は、filmtools.jp を見てみてください。製造業向けの計算ツールを無料で公開しています。
製造業でPythonが使える人材は、まだ圧倒的に少ないです。今の職場でスキルを積むのも正解ですし、スキルをもって転職するのも正解です。どちらにせよ、Pythonを知っていることは必ず武器になります。