0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

忙しい人向けPython自動化スクリプト集

Posted at

はじめに

忙しい毎日で、ルーチン作業に時間を取られることはありませんか?本記事では、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ファイルの操作が簡単にできます。
  • 例では「売上」列の合計を算出していますが、カスタマイズして他の集計やフィルタリングも可能です。

おわりに

このような簡単な自動化スクリプトを使うことで、日々のルーチン作業を効率化し、よりクリエイティブな仕事に集中できるようになります。ぜひ、自分の作業に合わせてカスタマイズし、日々の業務に役立ててください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?