ビジネスの現場では「モニタリングレポートの自動作成」「メールの送信」など、日々のルーティン業務に悩まされがちです。たとえ1日10分の業務でも、1か月では約3.5時間(10分×22営業日)、1年間で約42時間になり、塵も積もると膨大な量になります。
そんな時に使えるのがPythonを活用した自動化です。
Pythonはプログラミング経験がない人でも扱いやすい言語。とっつきやすい「業務の自動化」からPython学習を始めたいものの、「Pythonでどんなことを自動化できるかを知りたい」「どのような本で学ぶと最短かを知りたい」という方は多いのではないでしょうか?
そこで、本記事では現役データサイエンティストとして日々Pythonに携わっている経験をもとに、自動化の例や参考書選びのポイントを解説したのち、自動化学習のおすすめ参考書も詳しく解説していきます。
監修者
經田 原弘
東京大学大学院新領域創成科学研究科複雑理工学専攻修了。大学時代は3次元の医療データの平滑化処理を研究テーマとし、大学院時代はJAXAと協業し、月探査機かぐやの衛星データから、月面上の水の存否について調査していた。新卒では株式会社リクルートにてレコメンドシステムの開発等に従事し、現在は製造業系スタートアップにてデータサイエンティストとして勤務。応用情報技術者試験・E資格合格者。
【Udemy講座】サイト限定でDS検定講座クーポン配布中!
- 元リクルート・東大院卒(JAXAと共同研究)監修のデータサイエンティスト検定の対策講座をUdemyで配信中
- 機械学習に必要な数学知識も基礎から丁寧に解説
- 期間限定&業界最安!サイト内限定クーポン利用で1,600円で受講可能(正規価格は8,800円)
\ クーポン利用で1,600円/
自動化してできること
Pythonの自動化でできることは多岐に渡ります。ここでは業務でよく使うExcel、メール、WEBの自動化でできることをまとめてみました。
自動化できること | 活用例 | Pythonの操作 |
---|---|---|
データの前処理 | ・正規化 ・欠損値の除去 ・外れ値の処理 ・スケーリング | ・Pandasを使ってデータの読み込み、クリーニング、変換を行う |
データ分析 | ・統計的分析 ・予測モデルの構築 | ・Pandasでデータ分析 ・scikit-learnで予測モデルの構築を行う |
データの可視化 | ・グラフやチャートの生成 | ・Matplotlibやseabornを用いてデータを可視化する |
レポートの生成 | ・営業結果やマーケティングの成果をレポート化 | ・Pandasでデータ分析 ・matplotlibでグラフを作成Jupyter Notebookで上記をまとめてレポートを生成する |
メールの送受信 | ・特定の条件で自動的にメールを送信 (例:会員登録の完了) ・特定のキーワードに一致するメールを受信したときの自動返信 | ・smtplibやimaplibを使ってメールの送受信を自動化する |
タスクのスケジューリング | ・特定の日時にプログラムを実行(例:バックアップの取得、定期的なレポート作成) | ・スケジューリングを作成する ・APSchedulerを用いて特定の日時に特定の関数を実行する |
スクレイピング | ウェブページからの情報収集 (例:株価情報、最新ニュースなど) | ・BeautifulSoupやScrapyを用いてウェブページから情報を収集する |
WEBページの操作 | ・ログイン ・フォームの送信 ・ボタンのクリック | ・Seleniumを使ってウェブブラウザを操作する |
意外にも多くの業務がPythonで自動化できることがわかるでしょう。目の前の業務だけではなく、Python学習を継続させればさらに幅広く自動化できますし、自身のPythonスキルも同様に向上します。
VBAとPythonではどちらを学習したほうがよい?
自動化できるツールとして、VBAを視野に入れている方もいらっしゃるのではないでしょうか。
結論からいうと、大きく分けて、①汎用性が高いこと ②シンプルな構文で理解しやすいこと の2つメリットがあることからPythonで自動化することがおすすめです。
メリット①:汎用性が高く、ほかの処理にも活用できる
Pythonは自動化以外にも、データ分析、機械学習、ディープラーニング、画像処理など幅広い分野で活用されています。
たとえば、POSデータ(小売店などの購買データ)を例に考えてみましょう。Python、VBAともにPOSデータのデータ分析、可視化の自動化を行なうことはできます。
これに加えて、Pythonでは競合他社データや天候データなどを変数として、需要予測モデルを作成して、販売計画や在庫管理に役立てることもできます。
一方、VBAではそのような予測モデルの作成は難しいので、データ分析、可視化の自動化に留まってしまいます。自動化以外にも活用したいという方はぜひPythonで学習することをおすすめします。
メリット②:シンプルな構文なので理解しやすい
PythonはVBAと比較して、シンプルな構文で読みやすいので、直感的に理解しやすく、初学者が学習を始めるのに非常におすすめです。たとえば、"Hello, World!"を10回出力するプログラムをVBA、Pythonそれぞれで書いてみましょう。
- VBA
Sub HelloWorld()
Dim i As Integer
For i = 1 To 10
Debug.Print "Hello, World!"
Next i
End Sub
- Python
for i in range(10):
print("Hello, World!")
Pythonの方が短いコードで書くことができ、直感的にも分かりやすいコードであることは一目瞭然でしょう。このようにシンプルでわかりやすいコードで書けるので、初学者でも学習でつまずきにくいといえるでしょう。
参考書の選び方
Python×自動化を学習できる参考書は数多くあります。ここでは、編集部がおすすめする「Python×自動化の参考書の選び方・ポイント」を3つ紹介していきます。
- 学びたい目的に合っている
- Pythonの基礎知識も理解できる
- 自分のレベルに合っている
ポイント①:学びたい目的に合っている
自動化の活用例を上述したように、自動化できる作業は多岐にわたるため、目的に合った参考書を選ぶことが重要です。
たとえば、WEBスクレイピングの自動化を学びたい方は、Officeソフトの自動化よりもWEB(html・cssの知識など)やデータ収集の自動化に重きを置いて学習すると良いでしょうし、Excelの自動化を学びたい方はExcelに特化した参考書を選ぶと良いでしょう。
下記はPython×自動化の参考書を目的別にピックアップし、すみわけを簡単に記載した表になります。
学習したい目的・内容 | 本のタイトル |
---|---|
Excel操作の自動化 | ・Python×Excelで作る かんたん自動化ツール ・Pythonでかなえる Excel作業効率化 |
メール操作(Outlook操作)の自動化 | ・PythonでExcel、メール、Webを自動化する本 |
WEBスクレイピングの自動化 | ・Pythonスクレイピング&クローリング データ収集マスタリングハンドブック |
網羅的に自動化を学習 | ・Python業務自動化マスタリングハンドブック ・シゴトがはかどる Python自動処理の教科書 ・あなたの仕事が一瞬で片付くPythonによる自動化仕事術 |
上記表の参考書はすべて下で詳しく解説しているので、ぜひ参考にしてみてください。
ポイント②:Pythonの基礎知識も同時に理解できる
中身のコードを理解せずに動いている自動化よりも、同じコードを書くのでも汎用性高く同じことをできるようにPythonの知識を定着させられる本を選びましょう。
いざ業務に知識を転用しようとコードを書いてみても、エラーメッセージが表示されてしまい動かないことは頻繁にあります。エラーメッセージを理解し、エラーを修正するのに多くの時間を費やすことになるでしょう。
エラーが出てもも自身で対処できるよう、Pythonの基礎知識も併せて学習できる参考書を選ぶと良いでしょう。
さらに、Pythonの基礎知識を習得することで、データ分析、機械学習、WEBスクレイピングなど、自動化以外の様々な分野でPythonを活用できるようになります。
ポイント③:最新バージョンのPythonを学べる
自動化の手法を効率的に理解するためには、最新バージョンのPythonを学習できる参考書を選びましょう。
Pythonは1990年代初頭に登場したプログラミング言語なので、参考書によっては古いバージョンのPythonについて書かれていることがあります。Pythonのバージョンが古いと、ライブラリのバージョンも古いことが多いので、参考書通りにコードを入力してもエラーが表示され、学習でつまずきやすくなります。
実際、ある参考書のAmazonレビューで下記のようなレビューがありました。
現在インストールするバージョンのOpenPyXLのバージョンが違うからか、本の通りに12章のエクセルシートのコードを実行してみると推奨されないエラーだらけで都度検索して読み替えることになるので手間です。(Amazonレビューより一部抜粋)
サンプルコードをそのまま入力しているつもりでも、とにかくエラーやら実行しないやらでつまずきます。本書を手元に、Python関係のブログに飛びまくることになります。(Amazonレビューより一部抜粋)
最新のバージョンでPython学習できる参考書を選ぶことで、バージョン違いによるエラーや操作の違いがなくなるので、つまずくことが少なるでしょう。
Python×自動化を学習できるおすすめ参考書
ここからは編集部が厳選したPython×Excel学習ができる良書を紹介していきます。上記の選び方に則って、Pythonの基礎知識から学習できるおすすめ参考書を紹介します。
【おすすめ】Python業務自動化マスタリングハンドブック (Python定番セレクション)
本書はpythonを活用した業務効率化をするだけでなく、そのスキルを「職場全体にPythonを短期間で導入・運用できるようにする」ことも目的としているので、職場全体を意識した環境構築と運用方法を身に付けることができます。
Pythonの基礎知識から学習できることに加えて、Pythonインストール方法や初学者がつまずきやすいポイントも紹介しており、初学者にやさしい構成になっています。
また、プログラミングをしているとよく陥る構文エラー、例外、実行の不具合に対する対策方法も学習できるので、初学者が学習を進めやすいように書かれています。
実際、Amazonレビュー評価4.2/5(2023年6月現在)と非常に高く、読者の満足度も高いので、この点でもおすすめといえるでしょう。
【おすすめ】PythonでExcel、メール、Webを自動化する本
本書は第1章でリストやループ処理など初学者がつまずきやすいPythonの知識を解説しているので、Pythonの知識がなくても自動化できるようになります。
Excel、メール、WEBからの情報収集の自動化の手法を学習することができ、それぞれ実務に直結する操作なので、学習内容をすぐに実務で実践できるでしょう。
たとえば、Webから抽出したデータをExcelファイルに保存してメールで送信、といった連携も行えるようになり、大幅な業務効率化ができるようになるでしょう。
シゴトがはかどる Python自動処理の教科書
本書はPythonの基礎知識を学習したあとに、Excelの自動化、WEBスクレイピングの方法を学習できるので、自動化の学習でつまずきにくいように構成されています。
また、他の参考書では記載の少ないLINEやTwitterなどのSNSの自動送信の手法も学習できるので、SNSの自動化に興味がある方には本書がおすすめです。
Amazonレビューを参考にすると、過去にPython学習につまずいた文系読者も本書はわかりやすく、理解できたとのレビューもあり、初学者におすすめの一冊です。
実際、Amazonレビュー評価4.1/5(2023年6月現在)と非常に高く、読者の満足度も高いことがわかります。
Pythonスクレイピング&クローリング データ収集マスタリングハンドブック
本書はWEBスクレイピングの自動化の解説に特化しており、WEBスクレイピングの手法を深く学びたい方に非常におすすめの一冊です。
SeleniumというWEBブラウザ操作自動化のライブラリの解説に始まり、参考書と一緒に手を動かしながら、WEBスクレイピングの手法を学習できます。
2023年2月に出版しており、最新のバージョンでPythonを学習することができるので、バージョン違いによるエラーや学習の手戻りなく学習を進めることができます。
Python×Excelで作る かんたん自動化ツール
本書はPythonの基礎学習からスタートして、最終的にはそれをExcelと組み合わせて自動化ツールを作る方法までを学ぶことができるので、Python知識もしっかり身に付けることができます。
また、本書は自身が自動化できるようになることはもちろん、職場のチームメンバーも作成した自動化ツールを扱えることを目的に書かれています。
そのため、「だれでも使えるExcelを使って入力・設定を行う方法」や「Pythonがインストールされていない環境でもプログラムを実行する方法」も学習できるので、本書1冊で職場全員の業務を効率化できるでしょう。
実際、Amazonレビュー評価4.1/5(2023年6月現在)と非常に高く、読者の満足度も高いので、おすすめです
あなたの仕事が一瞬で片付くPythonによる自動化仕事術
プログラミング系YouTuberが著書であるため、ページのQRコードからYoutube動画にアクセスして、参考書+Youtube動画の2つで学習することができます。
文字だけでなく、映像と音声でも理解を深められるので、参考書だけでの学習に不安のある方に本書はおすすめです。
また、本書では約330ページと少ないページ数でExcel作業・レポート作成Webスクレイピングやメールの自動化の手法を身に付けることができるので、効率的に自動化の手法を身に付けたい方におすすめです。
Pythonでかなえる Excel作業効率化
本書はPythonの基礎知識についても丁寧に解説したあとに、Excelの自動化の方法を学習できるので、Pythonの知識もしっかりつけたいという方におすすめです。
また、Excelだけでなく、GoogleスプレッドシートとPythonを連携する方法も解説しています。
スプレッドシートとの連携方法を載せている参考書はほかにないので、業務でスプレッドシートを使っている方は本書での学習がおすすめです。
さらに、応用知識としてWEBスクレイピングでデータを取得する方法やデータ分析の手法も学習できるので、今後Pythonを幅広く活用するための土台作りになるでしょう。
退屈なことはPythonにやらせよう 第2版
WordやExcel、PDF文書の一括処理、Webサイトからのダウンロード、メールやSMSの送受信、画像処理など幅広い実務操作を自動化するスキルを身に付けることができます。
「Python×自動化」を学習できる参考書のなかでは2023年3月25日発売と出版日が最近のため、最新の自動化手法を学習することができます。
ページ数も720ページとかなり膨大な量あり、Pythonの基礎知識にもかなりページ数を割いて解説しているため、Python初学者でもあらゆる自動化をできるようになるでしょう。
さらに、各章末問題を解くことで、自動化するためのコードのパターンを身に付けることができるので、類似タスクを自動処理するスキルを高めることもできます。
まとめ
Pythonの自動化を学べる参考書を紹介してきました。自分に合った参考書は見つかったでしょうか。
自動化だけでなく、データ分析や機械学習といった他の業務にも活用可能なため、Pythonによる自動化の学習は非常におすすめです。本記事が学習を始めるきっかけになれば幸いです。
編集部ではPythonに関連する記事をほかにも公開しています。興味のある方はぜひこちらの記事もご覧ください。