見出し画像

Pythonを使って自動化を習得するためのロードマップ


①Pythonの基礎を理解する

まずはPythonの基本的な構文や文法を理解することが重要です。

学ぶべき内容
変数とデータ型
(例: int, float, str, list, dict, tuple)
制御構文
(if, for, while)
関数の定義と利用
モジュールとパッケージのインポート


例題「簡単なスクリプトを書く」

# 1から10までの数を出力する
for i in range(1, 11):
    print(i)

目標
Pythonでの基本的なコードの書き方に慣れる。


実践力を身につける Pythonの教科書 第2版 ↓


②自動化に必要なライブラリを学ぶ

Pythonには便利なライブラリが多く存在します。自動化の作業に特化して学ぶべきものを以下に示します。

主要ライブラリ
・os: ファイル操作や環境操作に便利
・shutil: ファイルのコピーや削除
・datetime: 日時操作
・openpyxl / pandas: Excel操作
・requests / BeautifulSoup: Webからのデータ取得
・selenium: ブラウザ自動操作


例題「ファイルの整理」

フォルダ内のすべてのファイルを別のフォルダに移動するスクリプト。

import os
import shutil

# 元のフォルダと移動先のフォルダを指定
source_folder = "./source"
destination_folder = "./destination"

# ファイルを一つずつ移動
for filename in os.listdir(source_folder):
    full_file_path = os.path.join(source_folder, filename)
    if os.path.isfile(full_file_path):  # ファイルかどうかを確認
        shutil.move(full_file_path, destination_folder)

print("ファイルの移動が完了しました!")

目標
自動化に必要な基本的なライブラリを使いこなす。


Pythonプログラミングパーフェクトマスター[最新Visual Studio Code対応 第4版] (Perfect Master 192) ↓


③繰り返し作業の自動化

具体的なシナリオに基づいて繰り返し作業を自動化します。


例題 1「Excelのデータ処理」

Excelファイルの特定の列を加工する。

import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel("sample.xlsx")

# "金額"列に10%の消費税を追加
df["税込金額"] = df["金額"] * 1.1

# 新しいExcelファイルとして保存
df.to_excel("output.xlsx", index=False)

print("処理が完了しました!")

例題 2「ウェブスクレイピング」

ウェブサイトからタイトルを取得する。

import requests
from bs4 import BeautifulSoup

# URLを指定
url = "https://example.com"

# ページを取得
response = requests.get(url)

# BeautifulSoupでHTMLを解析
soup = BeautifulSoup(response.content, "html.parser")

# タイトルを取得
title = soup.title.string

print("ウェブサイトのタイトル:", title)

目標
実用的なスクリプトを構築し、日常業務を効率化する。


はじめてのPython エンジニア入門編 Python3対応 第2版 ↓


④ユーザーインタラクションを加える

単純なスクリプトだけでなく、入力や選択肢を受け付けるようなプログラムを作ります。


例題「ユーザー選択に基づくファイル操作」

import os
import shutil

# ユーザーからフォルダ名を取得
source_folder = input("元のフォルダを入力してください: ")
destination_folder = input("移動先のフォルダを入力してください: ")

# フォルダが存在するか確認
if not os.path.exists(source_folder):
    print("元のフォルダが見つかりません!")
else:
    # ファイルを移動
    for filename in os.listdir(source_folder):
        full_file_path = os.path.join(source_folder, filename)
        if os.path.isfile(full_file_path):
            shutil.move(full_file_path, destination_folder)

    print("ファイル移動が完了しました!")


Pythonプロフェッショナルプログラミング 第4版 ↓


⑤自動化プロジェクトの構築

実際のプロジェクトを通して、学んだ知識を統合します。


例題「自動メール送信プログラム」

毎朝特定のデータをExcelから読み取り、メールで送信するプログラムを作る。

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# メール送信設定
sender_email = "あなたのメール@gmail.com"
receiver_email = "受信者のメール@gmail.com"
password = "あなたのメールパスワード"

# メール内容
subject = "自動化レポート"
body = "これが今日の自動化レポートです!"

# メール構築
msg = MIMEMultipart()
msg["From"] = sender_email
msg["To"] = receiver_email
msg["Subject"] = subject
msg.attach(MIMEText(body, "plain"))

# メール送信
with smtplib.SMTP("smtp.gmail.com", 587) as server:
    server.starttls()
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, msg.as_string())

print("メールが送信されました!")

目標
一連のタスクを自動化して実用的なシステムを作成する。


スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ) ↓


⑥スケジューリングとデプロイ

Pythonスクリプトを定期実行したり、他の人が利用できる形にします。

ツール
・cron(Linux)/ タスクスケジューラ(Windows): スクリプトを定期実行
・pyinstaller: スクリプトを実行可能なファイルに変換


例題「スケジューリングの設定例」

Linuxで毎日9時にスクリプトを実行する設定。

# cronに設定を追加
crontab -e

# 以下を記載
0 9 * * * python3 /path/to/your_script.py

学び方のポイント
少しずつ進める
小さな自動化タスクから始めて成功体験を積む。
ドキュメントを参照
ライブラリの公式ドキュメントを活用する。
試行錯誤を恐れない
問題が発生したらエラーを解読し、改善する。

これらのステップを順に進めることで、Pythonを使った自動化のスキルを効率的に習得できます!

いいなと思ったら応援しよう!