「毎週同じExcel集計をしている」「ダウンロードフォルダがぐちゃぐちゃ」「複数サイトを毎朝巡回している」――そんな定型作業は、Pythonで自動化できる可能性が高い作業です。
この記事では、プログラミング未経験〜初学者に向けて、Python自動化の始め方を「何が自動化できるか→環境づくり→最初の一歩→学習の進め方」の順で解説します。
何が自動化できるのか

Pythonの得意分野は幅広く、次のような日常業務が定番の自動化対象です。
- ファイル操作:フォルダ整理、リネーム一括処理、古いファイルの退避
- Excel・CSV処理:複数ファイルの集計・結合、定型レポートの生成
- Web情報の取得:価格・ニュースなどの定期チェック(対象サイトの規約順守が前提)
- メール・通知:集計結果の自動送信、チャットへの通知
- 画像処理:一括リサイズ・形式変換・透かし入れ
逆に、判断が多く例外だらけの作業は自動化に向きません。「繰り返す・手順が同じ・時間を食う」の3条件で対象を選ぶのが成功の秘訣です。
環境づくり(15分)
- Pythonのインストール:公式サイト(python.org)からダウンロード。Windowsはインストール時に「Add python.exe to PATH」に必ずチェック
- エディタの用意:Visual Studio Code(無料)+Python拡張機能が定番
- 動作確認:ターミナルで
python --versionと入力し、バージョンが表示されればOK
WindowsでLinux環境ごと学びたい方は、WSLを使う方法もあります(コマンド操作の練習にもなります)。
最初の一歩:ファイル整理スクリプト

図のコードは、ダウンロードフォルダ内のファイルを拡張子ごとのフォルダ(PDF、JPGなど)に自動で振り分けるスクリプトです。organize.pyという名前で保存し、ターミナルで python organize.py と実行するだけで動きます。
初めて実行するときは、テスト用フォルダで試してください。ファイル移動系のスクリプトは、対象フォルダを間違えると混乱のもとになります。まず小さく安全に、が自動化の鉄則です。
定番ライブラリを知っておく
| ライブラリ | 用途 |
|---|---|
| pathlib / shutil | ファイル・フォルダ操作(標準搭載) |
| openpyxl / pandas | Excel・CSVの読み書きと集計 |
| requests | Webページ・APIからのデータ取得 |
| Pillow | 画像の一括処理 |
| schedule | スクリプトの定期実行 |
ライブラリは pip install pandas のように追加します。「やりたいこと+Python」で検索すれば、ほぼ確実に先人のコード例が見つかるのがPython最大の強みです。
挫折しない学習の進め方
- 「作りたい自動化」を1つ決める:教材を最初から読むより、目的から逆算するほうが続きます(独学ロードマップの考え方と同じです)
- AIチャットを先生にする:「このコードの意味を教えて」「エラーの原因は?」と聞けば、24時間つきっきりの家庭教師になります。ただし動かす前にコードの意味を理解する癖を
- 動いたら少しずつ育てる:「整理→完了をログに残す→毎朝自動実行」のように、1機能ずつ足していくのが上達の王道です
自動化の注意点
- 会社のPCでは社内ルールを確認:ソフトのインストールや業務データの扱いには規程がある場合があります
- Webスクレイピングは相手サイトの規約と負荷に配慮:禁止サイトも多く、アクセス間隔などのマナーが必要です
- 元データのバックアップ:ファイルを書き換える処理は、必ずコピーで試してから本番に
よくある質問
Q. プログラミング完全未経験でも自動化までたどり着けますか?
A. たどり着けます。この記事のファイル整理レベルなら、変数・for文・if文という基礎文法を学んだ直後(学習開始から数週間)で十分理解できます。
Q. ExcelのマクロVBAとPythonはどちらを学ぶべきですか?
A. Excelの中だけで完結する作業ならVBAも有力です。ファイル操作・Web・画像などExcel外に広がる可能性があるなら、応用範囲の広いPythonをおすすめします。
Q. 書いたスクリプトを毎日自動で動かすには?
A. Windowsなら「タスクスケジューラ」、Mac/Linuxならcronに登録するのが定番です。まずは手動実行で安定させてから自動実行に進みましょう。
自動化する仕事を、正しく選ぶ
自動化で失敗する最大の理由は、技術ではなく対象の選び方です。向いていない作業を選ぶと、作る時間のほうが長くなります。次の4条件で判定してください。
| 条件 | 向いている | 向いていない |
|---|---|---|
| 頻度 | 毎日・毎週など定期的 | 年に1回だけ |
| 手順の固さ | 毎回まったく同じ手順 | そのつど判断が要る |
| 入力の形 | ファイル名や列の位置が決まっている | 毎回レイアウトが違う |
| 失敗の影響 | 間違えてもすぐ気づける・戻せる | 取り返しがつかない(送金、削除、送信) |
目安として、「1回15分の作業を、週1回」なら年間13時間。これを2時間で自動化できるなら十分に元が取れます。逆に「1回5分を月1回」は年間1時間なので、自動化する価値は薄いことになります。まず紙に、その作業の頻度と所要時間を書いてみてください。
よくある業務と、使うライブラリの対応表
「Pythonで何ができるか」ではなく、「この作業には何を使うか」から引けるようにしておくと、迷いません。
| やりたいこと | 使うもの | 難易度 |
|---|---|---|
| 大量のファイル名を一括で変更・整理する | 標準ライブラリ(os、pathlib、shutil) | 易。最初の1本におすすめ |
| 複数のCSVを1つに結合・集計する | pandas | 易〜中 |
| Excelファイルの読み書き(書式を保つ) | openpyxl | 中 |
| PDFからテキストを抜き出す | pypdf、pdfplumber | 中 |
| Webサイトから情報を取得する | requests、BeautifulSoup | 中。規約と負荷への配慮が必須 |
| 画像の一括リサイズ・変換 | Pillow | 易 |
| メールの自動送信 | smtplib、または各サービスのAPI | 中。誤送信対策を先に作る |
| APIからデータを取得する | requests | 中 |
最初の1本は「ファイル整理」を強くおすすめします。結果が目で見えて、失敗しても元に戻せて、外部サービスに影響しないからです。いきなりメール送信やWeb操作から始めると、うまくいかない原因が自分のコードなのか外部要因なのか切り分けられず、挫折しやすくなります。
壊さないための、4つの作法
自動化は「大量に、速く、間違える」道具でもあります。人間なら10件目で気づくミスを、スクリプトは1000件やり切ります。
| 作法 | 具体的に |
|---|---|
| 1. まず「何もしない」で動かす | 実際の処理をせず、「この操作をします」と表示するだけのモード(ドライラン)を先に作る |
| 2. 対象をコピーして試す | 本物のフォルダではなく、複製に対して実行する |
| 3. 削除ではなく移動 | os.remove ではなく、退避用フォルダへshutil.moveする。確認してからまとめて消す |
| 4. 件数の上限を入れる | 最初は10件だけ処理するようにしておく。想定外の大量処理を防ぐ |
とくに1番は必ず入れてください。「どのファイルを、どこへ動かすか」を一覧表示して、目で確認してから実行に切り替える。この一手間が、取り返しのつかない事故をほぼ全て防ぎます。
書いたスクリプトを、毎日自動で動かす
手で実行しているうちは、自動化は半分です。定期実行の方法を、環境別に整理します。
| 環境 | 方法 | 特徴 |
|---|---|---|
| Windows | タスクスケジューラ | 標準機能。PCが起動している必要がある |
| Mac・Linux | cron | 標準機能。書式は「分 時 日 月 曜日」 |
| VPS | cron | 24時間動く。PCの電源に依存しない |
| クラウドの無料枠 | 各社のスケジュール実行機能 | サーバー管理が不要 |
定期実行にするときの注意点が3つあります。
| 注意点 | 対処 |
|---|---|
| 手元で動いたのに、自動実行だと失敗する | 作業ディレクトリと環境変数が違う。ファイルのパスは絶対パスで書く |
| 失敗しても気づかない | 結果をログファイルに書き出す。失敗時だけ通知が飛ぶようにする |
| 処理が終わる前に次が始まる | 実行中を示す印(ロックファイル)を作り、二重起動を防ぐ |
1つ目は非常に多いつまずきです。手元では「今いるフォルダ」を基準に動いていたものが、自動実行では別の場所から起動されるため、ファイルが見つからなくなります。パスを最初から絶対パスで書いておけば、この問題は起きません。
Webから情報を取るときの、守るべき線
スクレイピングは強力ですが、相手のサーバーを借りている行為です。次の点は必ず守ってください。
| 守ること | 理由 |
|---|---|
| APIがあるならAPIを使う | 公式に提供されている取得方法があるなら、そちらが正しい |
| 利用規約とrobots.txtを確認する | 取得を禁止しているサイトがある |
| アクセス間隔を空ける | 1秒以上の待機を入れる。連続アクセスは攻撃とみなされる |
| 取得したデータの扱いに注意する | 再配布や商用利用には、別途権利上の検討が必要 |
| ログイン後の情報は原則取らない | 規約違反になりやすい領域 |
技術的にできることと、やってよいことは別です。相手のサーバーに負荷をかけない、規約に反しない、という2点を満たせない場合は、その自動化は諦めるのが正しい判断になります。
どこまで学べば目的を達成できるのか、そのために何時間必要かは、先に見積もっておくと計画が立てやすくなります。独学の期間はどれくらいかと目標の立て方を参照してください。
スクリプトを書く前に、CSV・JSON相互変換やテキスト整形で済む作業かどうかを確かめると、そもそも自動化が不要なことも分かります。識別子が必要な場合はUUID生成をご利用ください。
自動化する価値があるかの判断
すべてを自動化する必要はありません。作る手間と、浮く時間を比べてください。
| 作業の性質 | 自動化の価値 | 理由 |
|---|---|---|
| 毎週・毎月繰り返す | 高い | 回数が積み上がる |
| 手順が完全に決まっている | 高い | 例外処理が要らない |
| 件数が多い | 高い | 手作業ではミスが出る |
| 年に1回だけ | 低い | 作る時間のほうが長い |
| 毎回判断が入る | 低い | 条件を書き切れない |
| 元データの形式が毎回違う | 低い | 前処理のほうが大変 |
目安は「作る時間 × 1 < 浮く時間 × 回数」です。1回30分の作業を月1回やっているなら年6時間。作るのに10時間かかるなら、2年目から得になります。
最初は完全自動を目指さない
「一部だけ自動化して、確認は人がやる」で十分なことが多くあります。ファイルを集めて整形するところまでを自動化し、最終確認と送信は手作業にする。この形なら作る手間が半分以下で済み、事故も起きません。
そもそもコードを書かずに済む場合もあります。テキスト整形やCSV・JSON相互変換で足りる作業かを先に確かめてください。
まとめ
Python自動化は「3条件で対象を選ぶ→環境を作る→10行のスクリプトで成功体験→少しずつ育てる」という順番で、未経験からでも確実に到達できます。毎週30分の作業を自動化すれば、1年で26時間。その時間で次の自動化を作る――そんな好循環を、今日の15分の環境構築から始めてみてください。
