毎日繰り返す退屈な手作業に、もううんざりしていませんか?
「この作業、誰か代わりにやってくれないかな…」
そう感じたこと、きっとあるはず。
でも、もしその「誰か」が、あなた自身の書いたPythonコードだとしたら?
本記事では、プログラミング初心者でもすぐに試せる、Pythonを使った業務自動化のサンプルコードを10個厳選しました。これらのコードは、あなたの時間と労力を劇的に節約し、より創造的な仕事に集中する自由を与えてくれるでしょう。
この記事を読み終える頃には、あなたのPCは単なる作業ツールではなく、最高の「相棒」に変わっているはずです。
1. Webサイトから情報を自動取得(スクレイピング)
ECサイトの商品情報、ニュースサイトの最新記事、株価情報など、Web上に散らばるデータを手動でコピー&ペーストしていませんか?
Pythonを使えば、これらの情報を一瞬で、正確に集めることができます。
こんな人におすすめ:
- 市場調査担当者
- 競合価格を常にチェックしたいECサイト運営者
- 最新ニュースをまとめて読みたい人
サンプルコード:ニュース記事のタイトルを自動取得
import requests
from bs4 import BeautifulSoup
url = 'https://www.nikkei.com/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('h3', class_='c-title c-title--media')
for title in titles:
print(title.text)
必要なライブラリ: requests
, beautifulsoup4
インストール方法: pip install requests beautifulsoup4
2. Excelの面倒な集計作業を自動化
月末の請求書作成、顧客リストの整理、売上データの集計…Excelでの作業は、少しのミスが大きな問題につながることがあります。Pythonは、こうした定型作業をミスなく、高速にこなすことができます。
こんな人におすすめ:
- 経理・財務担当者
- 営業データの集計に追われている人
- データの分析を効率化したい人
サンプルコード:Excelファイルの集計とグラフ作成
import pandas as pd
import matplotlib.pyplot as plt
# Excelファイルの読み込み
df = pd.read_excel('sales_data.xlsx')
# '部署'ごとの合計売上を計算
department_sales = df.groupby('部署')['売上'].sum()
# 結果を新しいExcelファイルに保存
department_sales.to_excel('department_sales_summary.xlsx')
# グラフ作成
department_sales.plot(kind='bar')
plt.title('部署別売上合計')
plt.xlabel('部署')
plt.ylabel('売上')
plt.show()
必要なライブラリ: pandas
, openpyxl
, matplotlib
インストール方法: pip install pandas openpyxl matplotlib
3. PDFファイルの自動操作(結合・分割)
複数のPDFを一つにまとめたり、逆にページごとに分割したり。Adobe Acrobatを使うと手間がかかりますが、Pythonなら数行のコードで完了します。
こんな人におすすめ:
- 契約書や報告書を頻繁に扱う人
- 論文のページを整理したい研究者
- プレゼン資料を配布用に分割したい人
サンプルコード:複数のPDFを一つに結合
from PyPDF2 import PdfMerger
merger = PdfMerger()
files_to_merge = ['report1.pdf', 'report2.pdf', 'report3.pdf']
for filename in files_to_merge:
merger.append(filename)
merger.write('combined_report.pdf')
merger.close()
必要なライブラリ: PyPDF2
インストール方法: pip install PyPDF2
4. Gmailでのメール自動送信
定型的なメールを毎日・毎週送っていませんか?例えば、日報の提出リマインダーや、顧客への挨拶メールなど。Pythonを使えば、決まった時間に、決まった相手に、決まった内容のメールを自動で送ることができます。
こんな人におすすめ:
- プロジェクトの進捗報告を自動化したい人
- 顧客への定期的なお知らせを自動化したい人
- チームメンバーへのリマインダーを自動化したい人
サンプルコード:Gmailからメールを自動送信
import smtplib
from email.mime.text import MIMEText
# メール設定
sender_email = 'your_email@gmail.com'
recipient_email = 'recipient_email@example.com'
password = 'your_app_password' # Googleアカウントのアプリパスワードを使用
subject = '自動送信テスト'
body = 'これはPythonで自動送信されたメールです。'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = sender_email
msg['To'] = recipient_email
try:
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server:
server.login(sender_email, password)
server.sendmail(sender_email, recipient_email, msg.as_string())
print('メールが正常に送信されました!')
except Exception as e:
print(f'メール送信中にエラーが発生しました: {e}')
注意: Googleアカウントの「アプリパスワード」の設定が必要です。
5. 定型作業を自動実行(タスクスケジューリング)
「毎朝9時に特定のスクリプトを実行したい」「毎週月曜日にこのファイルをバックアップしたい」そんな願いを叶えるのが、タスクスケジューリングです。Pythonのスクリプトと連携することで、あなたはもうPCの前にいる必要はありません。
こんな人におすすめ:
- 日報や週報の自動作成・送信をしたい人
- 定期的なデータバックアップを自動化したい人
- 株価や天気予報などの情報を定時に取得したい人
サンプルコード:特定の時間にスクリプトを実行
import schedule
import time
def job():
print("毎分、自動実行されています!")
# 1分ごとにjob関数を実行
schedule.every(1).minutes.do(job)
while True:
schedule.run_pending()
time.sleep(1)
必要なライブラリ: schedule
インストール方法: pip install schedule
6. ファイル・フォルダの自動整理
ダウンロードフォルダがごちゃごちゃになっていませんか? Pythonを使えば、ファイルの種類(画像、動画、ドキュメントなど)ごとにフォルダを自動で分類・移動できます。
こんな人におすすめ:
- デスクトップやダウンロードフォルダが常に散らかっている人
- 大量のファイルを種類別に整理したい人
- 特定のファイルを定期的にバックアップしたい人
サンプルコード:ファイルを種類別に自動分類
import os
import shutil
# 整理したいフォルダのパス
folder_path = '/path/to/your/download_folder'
# ファイルの種類と対応するフォルダ
file_types = {
'images': ['.jpg', '.jpeg', '.png', '.gif'],
'documents': ['.pdf', '.docx', '.xlsx', '.pptx'],
'videos': ['.mp4', '.mov', '.avi']
}
for filename in os.listdir(folder_path):
# 隠しファイルやフォルダはスキップ
if os.path.isdir(os.path.join(folder_path, filename)):
continue
file_extension = os.path.splitext(filename)[1].lower()
for folder_name, extensions in file_types.items():
if file_extension in extensions:
dest_folder = os.path.join(folder_path, folder_name)
# 分類用フォルダがなければ作成
if not os.path.exists(dest_folder):
os.makedirs(dest_folder)
shutil.move(os.path.join(folder_path, filename), dest_folder)
print(f'{filename}を{folder_name}フォルダに移動しました。')
break
7. Googleスプレッドシートの自動操作
「Googleスプレッドシートに毎日手動でデータを入力している」そんな作業もPythonで自動化できます。APIを介して、データの読み書き、グラフの作成、共有設定まで自由自在です。
こんな人におすすめ:
- チームで共有しているスプレッドシートの更新作業を自動化したい人
- Webサイトのデータをスプレッドシートにリアルタイムで反映させたい人
- Googleフォームの回答データを自動で集計したい人
サンプルコード:Googleスプレッドシートにデータを自動書き込み
import gspread
from oauth2client.service_account import ServiceAccountCredentials
# Google API認証設定
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('your_credentials.json', scope)
client = gspread.authorize(creds)
# スプレッドシートをIDで開く
spreadsheet = client.open_by_key('your_spreadsheet_id')
worksheet = spreadsheet.worksheet('Sheet1') # シート名を指定
# 新しいデータを追加
new_data = ['太郎', '東京', 30]
worksheet.append_row(new_data)
print('新しいデータがスプレッドシートに追加されました!')
注意: Google Cloud PlatformでAPIを有効化し、認証情報(your_credentials.json
)を生成する必要があります。
8. 画像のリサイズ・加工を自動化
Webサイトにアップロードする写真のサイズを一つずつ調整したり、特定のロゴを複数の画像に貼り付けたり。これらの単純作業もPythonに任せましょう。
こんな人におすすめ:
- Webサイトの画像管理担当者
- SNS投稿用の画像をまとめて作成したい人
- 大量の写真を整理・加工したい人
サンプルコード:複数の画像を自動でリサイズ
from PIL import Image
import os
# リサイズしたい画像のフォルダ
input_folder = 'original_images'
# リサイズ後の画像を保存するフォルダ
output_folder = 'resized_images'
os.makedirs(output_folder, exist_ok=True)
# リサイズ後のサイズ
new_size = (800, 600)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
img_path = os.path.join(input_folder, filename)
img = Image.open(img_path)
# リサイズ
img = img.resize(new_size, Image.LANCZOS)
# 保存
output_path = os.path.join(output_folder, filename)
img.save(output_path)
print(f'{filename}をリサイズして保存しました。')
必要なライブラリ: Pillow
インストール方法: pip install Pillow
9. PDFの内容を自動でテキスト化
会議の議事録、重要な報告書、領収書など、PDFに埋もれた情報を手入力で書き起こしていませんか? Pythonを使えば、PDFからテキストデータを抽出して、検索可能なファイルに変換できます。
こんな人におすすめ:
- 大量の資料から特定のキーワードを抽出したい人
- PDF内のデータをExcelなどにまとめたい人
- 紙の資料をスキャンしたPDFをデジタルデータ化したい人
サンプルコード:PDFからテキストを抽出
import PyPDF2
def extract_text_from_pdf(pdf_path):
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
text = ''
for page_num in range(len(reader.pages)):
page = reader.pages[page_num]
text += page.extract_text()
return text
pdf_file = 'document.pdf'
extracted_text = extract_text_from_pdf(pdf_file)
with open('extracted_text.txt', 'w', encoding='utf-8') as f:
f.write(extracted_text)
print('PDFからテキストを抽出し、ファイルに保存しました。')
必要なライブラリ: PyPDF2
インストール方法: pip install PyPDF2
10. Word文書の自動生成
定型的な契約書や報告書を、毎回手動で作成していませんか? Pythonは、テンプレートとなるWord文書に、変数で指定したデータを自動で挿入して、新しい文書を生成できます。
こんな人におすすめ:
- 営業提案書や見積書を大量に作成する人
- 人事異動の辞令や契約書を自動化したい人
- レポートのテンプレート化を進めたい人
サンプルコード:テンプレートからWord文書を自動生成
from docx import Document
# テンプレートの読み込み
doc = Document('template.docx')
# 置き換えるデータ
data_to_replace = {
'{{client_name}}': '株式会社ABC',
'{{date}}': '2025年8月25日',
'{{total_amount}}': '1,000,000円'
}
# テンプレート内の文字列を置き換え
for paragraph in doc.paragraphs:
for key, value in data_to_replace.items():
if key in paragraph.text:
paragraph.text = paragraph.text.replace(key, value)
# 新しい文書として保存
doc.save('proposal_for_ABC.docx')
print('新しいWord文書が作成されました!')
必要なライブラリ: python-docx
インストール方法: pip install python-docx
まとめ:あなたの仕事は、もっと楽しくなる
「プログラミングは難しそう…」
そう思っていた方も、少し手を動かしてみると、その強力なパワーに驚かされたのではないでしょうか。今回ご紹介したサンプルコードは、ほんの一部に過ぎません。Pythonを使えば、あなたの仕事はもっと、もっと自由に、そして創造的になります。
もう、「退屈な作業」にあなたの貴重な時間を奪われることはありません。
さあ、今日からPythonを「最高の相棒」にして、新しい働き方を始めてみませんか?
Q. プログラミング初心者ですが、どこから始めれば良いですか?
A. まずはPythonをインストールし、本記事で紹介したサンプルコードを一つずつ試してみることから始めましょう。ライブラリのインストールから、エラーが出たときの対処法まで、小さな成功体験を積み重ねることが大切です。
Q. どのコードから試すのがおすすめですか?
A. 普段の業務で「一番時間がかかっている」「一番面倒くさい」と感じている作業に関するコードから試すのがおすすめです。成功すれば、その効果をすぐに実感でき、次の自動化へのモチベーションにつながります。
コメント