はじめに
忙しい毎日で、ルーチン作業に時間を取られることはありませんか?本記事では、Pythonを活用してよくある業務を自動化することで、少しでも作業を効率化する方法をご紹介します。今回はすぐに使える簡単なスクリプト集ですので、Pythonが少しわかる方ならすぐに導入できます!
1. 毎日のファイル整理を自動化する
目的
毎日ダウンロードフォルダに溜まっていくファイルを、日付ごとや種類ごとにフォルダ分けして整理するスクリプトです。指定したフォルダのファイルを、拡張子ごとに自動で整理します。
コード
import os
import shutil
def organize_files(folder_path):
# フォルダ内のファイルを取得
files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
for file in files:
file_ext = file.split('.')[-1] # ファイルの拡張子を取得
target_folder = os.path.join(folder_path, file_ext)
# 拡張子ごとのフォルダがない場合は作成
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# ファイルを移動
shutil.move(os.path.join(folder_path, file), os.path.join(target_folder, file))
# 使用例
organize_files('/path/to/your/downloads')
説明
-
os
: ファイルとフォルダの操作を行うための標準ライブラリです。 -
shutil
: ファイルの移動やコピーを行います。 - ダウンロードフォルダのパスを指定するだけで、拡張子ごとに自動でフォルダが作成され、ファイルが整理されます。
2. 定時に毎日メールを自動送信する
目的
定時に自動でメールを送信するPythonスクリプトです。週報や定例の連絡を自動化できます。
コード
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import schedule
import time
def send_email():
sender = 'you@example.com'
receiver = 'recipient@example.com'
subject = '毎日の定例メール'
body = 'お疲れ様です。本日の進捗を報告します。'
# メールの設定
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
# SMTPサーバーを通じてメール送信
with smtplib.SMTP('smtp.example.com', 587) as server:
server.starttls()
server.login(sender, 'password')
server.sendmail(sender, receiver, msg.as_string())
# 毎日9時にメールを送信
schedule.every().day.at("09:00").do(send_email)
# スケジューリングの実行
while True:
schedule.run_pending()
time.sleep(60)
説明
-
smtplib
: SMTPサーバーを利用してメールを送信するためのライブラリです。 -
schedule
: 定期的なタスクを実行するライブラリで、毎日指定した時間にメール送信を自動化できます。 - 注意点として、メールアカウント情報やパスワードの取り扱いには注意し、環境変数や秘密情報管理ツールを使用しましょう。
3. Excelデータの自動集計
目的
Excelファイルから特定のデータを取得し、自動で集計するスクリプトです。大量のデータを手動で集計するのは大変ですが、このスクリプトで作業が一気に楽になります。
コード
import pandas as pd
def aggregate_excel_data(file_path):
df = pd.read_excel(file_path)
# 特定の列の合計値を取得
total_sales = df['売上'].sum()
print(f"総売上: {total_sales}円")
# 使用例
aggregate_excel_data('/path/to/your/sales_data.xlsx')
説明
-
pandas
: データ解析用のライブラリで、ExcelやCSVファイルの操作が簡単にできます。 - 例では「売上」列の合計を算出していますが、カスタマイズして他の集計やフィルタリングも可能です。
おわりに
このような簡単な自動化スクリプトを使うことで、日々のルーチン作業を効率化し、よりクリエイティブな仕事に集中できるようになります。ぜひ、自分の作業に合わせてカスタマイズし、日々の業務に役立ててください。