Python×ChatGPTで業務自動化【プログラミング初心者でもできる】
はじめに

「Pythonって難しそう...」「プログラミング経験ゼロでも自動化できるの?」
そんな不安を抱えていた私が、Python×ChatGPTで月80時間の業務を自動化しました。
プログラミング未経験からスタートして数ヶ月。今では定型業務のほとんどを自動化し、戦略的な仕事に集中できるようになりました。
この記事では、プログラミング初心者でもできるPython業務自動化の全手法を、2025年最新のライブラリとChatGPT活用法とともに公開します。

なぜPython×ChatGPTなのか

Python自動化が2025年でも最強な理由
2025年11月時点での最新状況:
- Python自動化ライブラリは年々進化
- Playwright(最新Web自動化)が主流に
- LangChainでAIエージェントによる自動化が可能
- ChatGPTがコード生成を完全サポート
ChatGPTとの組み合わせが革命的
Before(従来):
1. Python学習に数ヶ月
2. ライブラリ調査に1週間
3. コード実装に2週間
→ 合計4ヶ月
After(ChatGPT活用):
1. ChatGPTに「やりたいこと」を伝える
2. コードを生成してもらう
3. コピペして実行
→ 合計30分
➡️ 学習コストほぼゼロで自動化が可能
実際にPythonで自動化した業務(月80時間削減)

自動化前 vs 自動化後
| 業務 | 自動化前 | 自動化後 | 削減率 |
|---|---|---|---|
| Excel集計・レポート作成 | 20時間/月 | 1時間/月 | ▲95% |
| Webからのデータ収集 | 15時間/月 | 0.5時間/月 | ▲97% |
| メール一括送信 | 10時間/月 | 0.3時間/月 | ▲97% |
| ファイル整理・リネーム | 8時間/月 | 0.2時間/月 | ▲98% |
| PDF→Excel変換 | 12時間/月 | 0.5時間/月 | ▲96% |
| 定期レポート自動送信 | 15時間/月 | 0時間/月 | ▲100% |
| 合計 | 80時間/月 | 2.5時間/月 | ▲97% |
➡️ 月80時間の削減 = 年間960時間の創出
2025年版:Python自動化の最新ライブラリ
1. Playwright(Web自動化の最新標準)
Seleniumの時代は終わった
2025年、Web自動化の主流はPlaywrightに移行しました。
Playwrightの優位性:
- Seleniumより高速(2-3倍)
- 最新Webアプリに対応(SPA、動的コンテンツ)
- 複数タブを同時操作可能
- 自動待機機能(waitが不要)
実例: 競合サイトの価格を自動収集
from playwright.sync_api import sync_playwright
def scrape_competitor_prices():
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
# 競合サイトにアクセス
page.goto("https://competitor-site.com/products")
# 価格を自動取得
prices = page.locator(".product-price").all_text_contents()
# Excelに保存
import pandas as pd
df = pd.DataFrame({"price": prices})
df.to_excel("competitor_prices.xlsx", index=False)
browser.close()
scrape_competitor_prices()
所要時間: 手動30分 → 自動30秒(60倍の効率化)
2. LangChain + AutoGen(AIエージェント自動化)
2024-2025年の革命的トレンド
LangChainとAutoGenを使えば、AIエージェントが自律的にタスクを実行します。
実例: 毎日の業務レポートを完全自動化
from langchain.agents import initialize_agent, Tool
from langchain.llms import ChatOpenAI
from langchain.memory import ConversationBufferMemory
# ツールの定義
tools = [
Tool(
name="Excel Reader",
func=read_excel_data,
description="売上Excelを読み込む"
),
Tool(
name="Report Generator",
func=generate_report,
description="レポートを生成"
),
Tool(
name="Email Sender",
func=send_email,
description="メール送信"
)
]
# AIエージェント初期化
llm = ChatOpenAI(model="gpt-4", temperature=0)
agent = initialize_agent(
tools,
llm,
agent="zero-shot-react-description",
verbose=True
)
# 実行
agent.run("""
毎朝9時に以下を実行:
1. 昨日の売上データを読み込む
2. 前週比・前年比を計算
3. レポートを生成
4. 経営層10名にメール送信
""")
効果: 毎日1時間 → 完全自動化(人間の作業ゼロ)

3. PyAutoGUI(GUI操作の自動化)
レガシーシステムも自動化可能
Web APIがない古いシステムでも、PyAutoGUIで画面操作を自動化できます。
実例: 社内システムへのデータ入力を自動化
import pyautogui
import time
def auto_input_to_legacy_system(data_list):
# システムを開く
pyautogui.click(100, 50) # アイコンをクリック
time.sleep(2)
for data in data_list:
# データ入力フィールドをクリック
pyautogui.click(300, 200)
# データを入力
pyautogui.write(data["name"])
pyautogui.press("tab")
pyautogui.write(data["email"])
pyautogui.press("tab")
pyautogui.write(data["phone"])
# 登録ボタンをクリック
pyautogui.click(500, 400)
time.sleep(1)
# 実行
data = [
{"name": "山田太郎", "email": "yamada@example.com", "phone": "090-1234-5678"},
# ... 1000件
]
auto_input_to_legacy_system(data)
効果: 手動8時間 → 自動30分(16倍の効率化)
4. Pandas(Excel自動化の王道)
Excel業務はPandasで完全自動化
2025年でもPandasはExcel自動化の最強ツールです。
実例: 複数Excelファイルを統合・集計
import pandas as pd
from pathlib import Path
def consolidate_excel_files():
# すべてのExcelファイルを読み込む
files = Path("./sales_data").glob("*.xlsx")
df_list = []
for file in files:
df = pd.read_excel(file)
df["source_file"] = file.name # ファイル名を記録
df_list.append(df)
# 統合
df_all = pd.concat(df_list, ignore_index=True)
# 集計
summary = df_all.groupby("product").agg({
"sales": "sum",
"quantity": "sum",
"profit": "sum"
}).reset_index()
# グラフ作成
summary.plot(x="product", y="sales", kind="bar")
# 保存
summary.to_excel("sales_summary.xlsx", index=False)
consolidate_excel_files()
効果: 手動3時間 → 自動10秒(1080倍の効率化)
ChatGPTを使ったPythonコード生成の実践
ステップ1: やりたいことを具体的に伝える
NG例(曖昧):
Excelを処理するPythonコードを書いて
OK例(具体的):
以下の処理をするPythonコードを書いてください:
【入力】
- フォルダ「./sales」内の複数のExcelファイル(sales_2024_01.xlsx, sales_2024_02.xlsx...)
【処理】
1. すべてのExcelファイルを読み込む
2. 「product」列でグループ化
3. 「sales」列の合計を計算
4. 結果を「summary.xlsx」に保存
【使用ライブラリ】
pandas
ChatGPTの出力:
import pandas as pd
from pathlib import Path
# フォルダ内のすべてのExcelファイルを取得
files = Path("./sales").glob("*.xlsx")
# データを格納するリスト
df_list = []
# 各ファイルを読み込む
for file in files:
df = pd.read_excel(file)
df_list.append(df)
# すべてのデータを結合
df_all = pd.concat(df_list, ignore_index=True)
# productでグループ化してsalesの合計を計算
summary = df_all.groupby("product")["sales"].sum().reset_index()
# 結果を保存
summary.to_excel("summary.xlsx", index=False)
print("完了!summary.xlsxに保存しました。")
➡️ そのままコピペして実行するだけ
ステップ2: エラーが出たらChatGPTに貼り付ける
エラーが出た場合:
Traceback (most recent call last):
File "script.py", line 5, in <module>
df = pd.read_excel(file)
File "/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 478, in read_excel
raise ValueError("Excel file format cannot be determined, you must specify an engine manually.")
ValueError: Excel file format cannot be determined, you must specify an engine manually.
ChatGPTへのプロンプト:
以下のエラーが出ました。修正してください:
[エラーメッセージを貼り付け]
ChatGPTの修正版:
# openpyxlをインストール
# pip install openpyxl
import pandas as pd
from pathlib import Path
# engineを明示的に指定
files = Path("./sales").glob("*.xlsx")
df_list = []
for file in files:
df = pd.read_excel(file, engine="openpyxl") # engine追加
df_list.append(df)
# ... (以下同じ)
➡️ 修正後も即座に実行可能
Python環境構築(ChatGPT活用で10分)
Windows環境での最速セットアップ
ChatGPTへのプロンプト:
Windows 11でPythonの開発環境を構築したいです。
以下をインストールする手順を教えてください:
- Python 3.11
- VSCode
- 必要な拡張機能
- pandas, playwright, openpyxl
ChatGPTが生成する手順:
【ステップ1】Python 3.11のインストール
1. https://www.python.org/downloads/ にアクセス
2. "Download Python 3.11.x" をクリック
3. インストーラーを実行
⚠️ 重要: "Add Python to PATH" にチェック
4. "Install Now" をクリック
【ステップ2】VSCodeのインストール
1. https://code.visualstudio.com/ にアクセス
2. "Download for Windows" をクリック
3. インストーラーを実行
【ステップ3】VSCode拡張機能
VSCodeを開き、左側の拡張機能アイコンをクリック:
- "Python" (Microsoft) をインストール
- "Pylance" (Microsoft) をインストール
【ステップ4】ライブラリのインストール
コマンドプロンプトを開き、以下を実行:
pip install pandas openpyxl playwright
playwright install
【確認】
python --version
→ Python 3.11.x と表示されればOK
➡️ 指示通りに進めるだけ
実践:よくある業務自動化10選
1. メール一括送信
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import pandas as pd
def send_bulk_emails(excel_file):
# Excelから宛先リストを読み込む
df = pd.read_excel(excel_file)
# メール設定
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender = "your-email@gmail.com"
password = "your-app-password"
# SMTPサーバーに接続
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(sender, password)
# 各宛先にメール送信
for _, row in df.iterrows():
msg = MIMEMultipart()
msg["From"] = sender
msg["To"] = row["email"]
msg["Subject"] = f"【ご案内】{row['name']}様へ"
body = f"""
{row['name']}様
いつもお世話になっております。
[本文]
よろしくお願いいたします。
"""
msg.attach(MIMEText(body, "plain"))
server.send_message(msg)
print(f"送信完了: {row['email']}")
server.quit()
# 実行
send_bulk_emails("email_list.xlsx")
効果: 100通送信 → 手動2時間 → 自動3分
2. PDF一括テキスト抽出
import PyPDF2
from pathlib import Path
def extract_text_from_pdfs(folder_path):
pdf_files = Path(folder_path).glob("*.pdf")
all_text = []
for pdf_file in pdf_files:
with open(pdf_file, "rb") as file:
reader = PyPDF2.PdfReader(file)
text = ""
for page in reader.pages:
text += page.extract_text()
all_text.append({
"filename": pdf_file.name,
"text": text
})
# DataFrame化
import pandas as pd
df = pd.DataFrame(all_text)
df.to_excel("extracted_text.xlsx", index=False)
# 実行
extract_text_from_pdfs("./contracts")
効果: 100ファイル → 手動10時間 → 自動5分
3. 画像一括リサイズ
from PIL import Image
from pathlib import Path
def resize_images(folder, target_width=800):
image_files = Path(folder).glob("*.{jpg,png,jpeg}")
output_folder = Path(folder) / "resized"
output_folder.mkdir(exist_ok=True)
for img_file in image_files:
img = Image.open(img_file)
# アスペクト比を保持してリサイズ
ratio = target_width / img.width
target_height = int(img.height * ratio)
resized = img.resize((target_width, target_height), Image.LANCZOS)
resized.save(output_folder / img_file.name)
print(f"リサイズ完了: {img_file.name}")
# 実行
resize_images("./product_images")
効果: 500枚 → 手動5時間 → 自動2分
ChatGPT活用の5つのコツ
1. エラーメッセージは全文コピペ
NG: 「エラーが出ました」(情報不足)
OK: エラーメッセージ全文 + 実行したコードを貼り付け
2. 段階的に進める
NG: 「全部一気に自動化して」
OK:
- まずデータ読み込みだけ
- 次に集計処理
- 最後に保存
3. サンプルデータを示す
OK例:
以下のようなExcelデータを処理したいです:
| 商品名 | 売上 | 数量 |
|---|---|---|
| 商品A | 10000 | 5 |
| 商品B | 20000 | 10 |
これを商品名でグループ化して合計を出すコードを書いてください。
4. 実行環境を伝える
Windows 11
Python 3.11
pandas 2.0.3
5. 期待する出力を明示
期待する出力:
summary.xlsx に以下の形式で保存
| product | total_sales |
|---|---|
| 商品A | 50000 |
| 商品B | 100000 |
まとめ: Python×ChatGPTで業務効率10倍
数ヶ月で得られたもの
✅ 月80時間の業務時間削減
✅ プログラミングスキルの習得
✅ 年収+100万円(空いた時間でスキルアップ)
✅ チーム全体の生産性向上
次のアクション
- 今日中に: Python環境構築(10分)
- 1週間以内に: 1つの業務を自動化(3時間)
- 1ヶ月以内に: 5つの業務を自動化(月20時間削減)
- 数ヶ月以内に: チーム展開(全体で月200時間削減)
著者について
DX・AI推進コンサルタント
大手企業グループのDX推進責任者・顧問CTO | 長年のIT・DXキャリア | AWS・GA4・生成AI活用を専門に実践ノウハウを発信中
#Python #プログラミング #自動化 #業務効率化
最終更新: 2025年11月9日
この記事を書いた人
nexion-lab
DX推進責任者・顧問CTO | IT業界15年以上
大手企業グループでDX推進責任者、顧問CTOとして活動。AI・生成AI活用、クラウドインフラ最適化、データドリブン経営の領域で専門性を発揮。 実務で培った知識と経験を、ブログ記事として発信しています。