Pythonの作業自動化を幅広く解説している『退屈なことはPythonにやらせよう』をレビューします!
この本を一通り読めば、Pythonはどんな作業の自動化と相性が良いのかを把握できると思います。
Pythonを使うと:
- 文書からメールアドレスやULR、電話番号などの抽出
- Excel、Word、pdfの操作
- Webスクレイピング(Webからの自動データ収集)
- 電子メールの送信
- マウスとキーボードの自動操作
といったことも、できるのをご存じでしたか?
『退屈なことはPythonにやらせよう』では、これらの内容が解説されています。
この本で学んだことをベースに、自分の日常業務をどんどん自動化して、自分が本当にしたいことのために時間を確保していきたいですね。
『退屈なことはPythonにやらせよう』の概要:
Pythonの作業自動化について幅広く解説しているので、この本を一通り読めば、
- Pythonはどんな作業の自動化と相性が良いのかということが把握できる
と思います。
目次を確認するだけで、こんなことまで自動化できちゃうの?!とワクワクしてくると思います。
気になった方は、目次だけでもチェックしてみてください!
全体の構成
主に次のような構成になっています。
- 前半:Pythonの基礎部分が6章
- 後半:処理の自動化が12章
実際の章立てと若干異なりますが、グループ分けすると次のような内容です:
- Pythonの基礎
- 環境構築:Anacondaのインストール方法など
- Pythonの基礎:プログラミングの基本や文法の解説
- 処理の自動化
- 正規表現での文字検索・置換
- ファイル操作
- マウスやキーボードの自動操作
- 画像の操作方法
- 処理の自動化(他のソフトを操作)
- Webスクレイピング
- Excel、Word、PDFの操作
- メールやSNSの送受信方法
Pythonの基本から様々な自動化まで、かなり幅広い内容が紹介されています!
また、付録には自作スクリプトをバッチファイルから実行する方法が紹介されています。
バッチファイルをクリックするだけで、自動化プログラムを実行できるようになります!
どんな人におススメ?
とにかく、単純な事務作業を自動化したい人におススメです。
パソコンで単純な事務作業や繰り返し作業を行うことが多い人は、この本を通して作業の自動化への一歩を踏み出せると思います!
対象のレベル
Pythonの基礎も詳しく解説しているので、Pythonの事前知識は必要ないと思います。
- 普段からパソコンを使用している人
- 自分でソフトウェアをインストールできる人
- プログラミングを勉強する気力がある人
であれば十分取り組めるレベルだと思います。
ただ、O’REILY社の本は、挿絵が少なくて少しサバサバしているかんじがします。
もっと優しい本で入門したい人は、
のような優しい入門書に、先に取り組んでも良いかもしれませんね。
Pythonを学んだことがある方も、前半の基礎部分はぜひ一読して頂きたいです。
さすがにO’REILLY社の本だけあって、内容がかなり充実しています。
- リスト型のメソッド
- 辞書型のメソッド
の解説が充実しています。
私もこれまで使用していなかった便利なメソッドに気づけました。
できるようになったこと
取り扱っている内容が幅広くて紹介するのが難しいのですが…。
例として、
- クリップボードにコピーした文書からURLを抽出するプログラム
を紹介します。
次のサンプル文書から、URLのみを抽出してみましょう。
# YutaKa Notebook!Pythonを図解するブログ!アドレスはこちら↓
# https://www.yutaka-note.com/
# Twitter もやってるよ!気軽に絡んでね!
# https://twitter.com/801YutaKa108
この文書をクリップボードにコピーした状態で、次のプログラムを実行すると、URLだけ抽出することができます。
# pyperxlipとreをインポート
import pyperclip
import re
# ホームページアドレスの正規表現を作成
http_regex = re.compile(r"https?://[\w!\?/\+\-_~=;\.,\*&@#\$%\(\)'\[\]]+", ) # 参考 https://qiita.com/str32/items/a692073af32757618042
# クリップボードの内容を読み込み
text = str(pyperclip.paste())
# textからホームページアドレスを抽出
match = []
for found_address in http_regex.findall(text):
match.append(found_address)
# リストをセットに変換して重複を削除
results = set(match)
# 結果の表示
print(results)
# {'https://www.yutaka-note.com/', 'https://twitter.com/801YutaKa108'}
最後の結果の表示部分では、URLだけがキレイに抽出されていますね。
書籍の中ではメールアドレスを抽出するプログラムが紹介されていました。
それをもとに作成したので、このプログラムは所要時間5分くらいで作成できました。
今回は4行の文書からURLを抽出しましたが、
- もし文書が数万行あったらどうでしょうか?
- もしこの作業を毎日何十回も行うとしたらどうでしょうか?
自動化したくなりますよね。
学習に必要な所要時間
私の場合は1章あたり1~2時間で学習できました。
- 前半:Pythonの基礎部分が6章
- 後半:処理の自動化が12章
となっていて、合計18章なので全体で約30時間程度かかったと思います。
一日1時間勉強して約一か月といったところですね。
これまで行っていた「めんどうな作業」を自動化して、時間を有効に使えるようになれば、30時間で自動化を学べるのはお得ですね!
まとめ
- Pythonでの作業自動化の入門書!
- 基本的な自動化処理を網羅的に紹介している良書!
でした。
この本で学んだことをベースに、自分の日常業務をどんどん自動化して、自分が本当にしたいことのために時間を確保していきたいですね!
気になった方は、ぜひAmazonで目次だけでもチェックしてみてください!
目次を確認するだけで、こんなことまで自動化できちゃうの?!とワクワクしてきます!
Twitter@YutaKaでは、ほぼ毎日Pythonに関する情報を発信しています。
気楽にツイートしているので、気軽にフォローしてください!