この記事について
日々の仕事のなかで、「同じファイルをコピーして名前を変える」「Excelから特定のデータを抜き出す」といった単純な繰り返し作業に時間を奪われていないでしょうか。
私自身、長いあいだ「手作業でやったほうが早い」と自分に言い聞かせてきました。しかし作業量が増えるにつれて限界を感じ、Python で自動化に取り組み始めました。
この記事は、その過程で気づいたことの記録です。
なぜPythonを選んだか
理由はシンプルで、次の2点でした。
- 自動化まわりのライブラリが豊富であること(ファイル操作の
os、表データ処理のpandasなど) - 読み書きしやすいこと。久しぶりに自分のコードを読んでも意図を思い出せる
自動化スクリプトは「書いて終わり」ではなく、数ヶ月後に自分で読み返して直すものです。そのとき読みやすさが効いてきます。
実際に書いたコード
言葉だけだと伝わりにくいので、実際に使っているスクリプトを2つ載せます。どちらも10行に満たない、ごく短いものです。
本記事のコードは Python 3.x を対象にしています。pandas を使う2つ目のスクリプトは、事前に pip install pandas が必要です。手元のバージョンは次のコマンドで確認できます。
python --version
python -c "import pandas; print(pandas.__version__)"ファイルのリネーム(os / pathlib)
月次レポートのファイル名を、日付をもとに命名し直す処理です。
from pathlib import Path
target_dir = Path("./reports")
for file in target_dir.glob("report_*.xlsx"):
date_str = file.stem.split("_")[-1] # report_20260301.xlsx → 20260301
new_name = f"{date_str}_月次レポート.xlsx"
file.rename(target_dir / new_name)
手作業だと1件ずつ右クリック→名前の変更でしたが、対象フォルダに置くだけで一括処理できるようになりました。
Excelからのデータ抽出(pandas)
明細シートから、必要な列だけを抜き出してCSVにする処理です。
import pandas as pd
df = pd.read_excel("sales_2026.xlsx", sheet_name="明細")
# 「担当者」が空欄でない行だけ、必要な列だけを抽出
extracted = df.dropna(subset=["担当者"])[["日付", "担当者", "金額"]]
extracted.to_csv("sales_summary.csv", index=False, encoding="utf-8-sig")
コピー&フィルタで数時間かかっていた作業が、このスクリプトを実行するだけの数秒に置き換わりました。
自動化の本当の価値は「速さ」ではなかった
実際にコードを書いてみて驚いたのは、作業が速くなること以上の効果があった点です。
1. 人為的なミスの防止
疲れているときのコピペミス、行のずれ、貼り付け先の間違い。これがゼロになります。手作業の品質は体調に左右されますが、コードは左右されません。
2. 思考の整理
これが個人的には最大の収穫でした。作業手順をコードに落とす過程で、そもそも不要だった工程が見えてきます。
「なんとなく毎回やっていた確認作業」が、実は前工程で保証されていた、というようなケースです。自動化しようとして初めて、自分の作業を言語化できました。
3. 再現性
一度作れば、来月も再来月も同じ結果が出ます。属人化していた作業を、手順書ではなくコードとして残せる意味は大きいです。
前述の2つのスクリプトのように、一度書けば実行するだけで済みます。この 「自分の分身が働いてくれる感覚」 が、学習を継続する一番のモチベーションになっています。
これからやりたいこと
コードを書くことは、単なる技術習得ではなく 「自分の時間を創り出すための投資」 だと考えています。
今後は次のような領域にも広げていく予定です。
- Webからの情報収集(スクレイピング)
- 定型メールの自動送信
- 生成AIのAPIと組み合わせた、判断を伴う処理の自動化
特に最後の一つは、従来の自動化では扱いづらかった「表記ゆれの吸収」「文章の要約」といった処理をスクリプトに組み込めるため、試したいと思っています。
まとめ
小さな自動化の積み重ねが、よりクリエイティブな仕事に集中できる環境を作ってくれます。
毎日のルーチンワークに追われている方は、まず 「今週いちばん多く繰り返した作業」 を1つだけ自動化してみてください。その数行のコードが、翌週の使える時間を変えてくれるはずです。
参考
- pathlib — オブジェクト指向のファイルシステムパス(Python 公式) — 本記事のリネーム処理で使ったモジュール
- pandas.read_excel(pandas 公式) — Excel 読み込み時に指定できる引数の一覧