Pythonでメンドクサイ作業を自動化!
どうもヨスケです。
プログラミング初心者ですが、Pythonプログラミングを勉強しながら、面倒くさい単純作業や時間のかかる作業を、いっきに片付けてくれる自動処理に魅力を感じて勉強中です。
プログラム初心者のヨスケが作ったPythonプログラムたち↓
https://retire-early40.com/python%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/
Pythonプログラミングを勉強する中でわかってきたのは、
「やりたいこと(作りたいプログラム・処理)によって、勉強の進め方が変わる」ということです。
今回はPythonによる自動化処理でできることと、何を勉強していくと効率的に習得できるのか、ヨスケなりに理解したことを整理しましたので、紹介します。
・プログラミング初心者の方
・プログラミングに挫折したことがある方
・プログラムの勉強をしてみたい方
・Pythonが気になっている方
・Pythonで自動化処理を学習する道筋
↓プログラミングスクール広告
結論:Python 自動化プログラミングの学習ロードマップ
Python自動化の学習は大きく分けて2ステップ
Pythonの自動化処理の学習は2ステップと考えています。
簡単に説明します。
第1ステップ 「Pythonのお作法を知る」
まずはPythonでプログラムを書く文法を知らなければなりません。
簡単に言うと、プログラムはコンピュータに対して、「命令(処理)」を順番に、または繰り返し行い、それに従ってコンピュータが高速でそれを処理しますが、その「命令の書き方」がC言語やPythonなどのプログラム言語によって微妙に異なります。
まずはお作法を学びましょう。
おススメの勉強法 「Progate(プロゲート)」
おススメのお作法勉強法は「Progate」というWeb上でのプログラミングレッスンサービスです。
Progateの良いところは、「①文法の説明スライドと②クイズ形式の実習」になっているところです。対面式のレッスンではなく、自分のペースでできますし、実習に正解すると、経験値が獲得できてレベルが上がります。
ゲーム感覚で楽しく学べます♪

ヨスケ Lv.60です。[出典:Progate]
基礎講座だけなら無料で学習可能ですし、追加講座も¥1,000/月とめちゃくちゃ安いです!!
ヨスケは追加講座に一か月だけ加入して全講座を修了しました。
オンラインスクールに行けば、しっかりとした講師陣とカリキュラムで成果が出せる環境を提供してもらえますが、受講料が気になるところです。
プログラミングを継続できるかどうかも、向き不向きもありますので、まずはProgateで試しにプログラムに触れてみると良いと思います。
第2ステップ「やりたいことを実現できるライブラリを習得する」
pythonでは、たくさんのライブラリが開発されています。
プログラミングをやったことない人は、ライブラリってなんだよ!!意味わからん!もういい!寝る!!ってなりますよね~。
ヨスケもそうでした笑
ライブラリというのは、数行のソースコードを書くだけですごい処理をしてくれる便利なプログラムの集まりです。
↓ライブラリ「BeautifulSoup」で40行でプログラム!
https://retire-early40.com/%e3%80%90%e8%87%aa%e5%b7%b1%e6%8a%95%e8%b3%87%e3%80%91%e5%88%9d%e5%bf%83%e8%80%85%e5%bf%85%e8%a6%8b-python%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%93%e3%81%a8-web%e3%82%b9%e3%82%af%e3%83%ac/
ライブラリを使わずに自動化プログラムを自力で作るのは非常に大変です。それはただの苦行ですし、プロに任せて便利な道具は使いましょう!なんならプロもそうしています。
つまり、「やりたいことを実現できるライブラリを探して使い方を練習する」が第2ステップで行う学習方法と考えています。
自動化のアイデアと習得すべきライブラリ
プログラミングで自動化したいアイデアに対して、自動化に活用できるライブラリを対応付けて整理しておきます。
紹介するアイデア①,②については、ヨスケも過去記事で実際に自動化処理をプログラミングしてみました。
自動化のアイデア① Webからデータ収集:BeautifulSoup
PythonはWebから自動的にデータ収集するスクレイピングが得意です。
手作業で検索して情報を収集するには手間がかかりますが、スクレイピングであれば指定したサイトへアクセスし、所望の情報を自動取得できます。
https://retire-early40.com/%e3%80%90%e8%87%aa%e5%b7%b1%e6%8a%95%e8%b3%87%e3%80%91%e5%88%9d%e5%bf%83%e8%80%85%e5%bf%85%e8%a6%8b-python%e3%81%a7%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%93%e3%81%a8-web%e3%82%b9%e3%82%af%e3%83%ac/
自動化のアイデア② ブラウザ操作:Selenium
Webブラウザ自体を操作することもPythonなら簡単です。クリックやテキストフィールドへの文字入力を自動化できますので、Amazonや楽天の会員ページもログインすることが可能です。
https://retire-early40.com/python%e3%81%a7%e3%83%96%e3%83%a9%e3%82%a6%e3%82%b6%e8%87%aa%e5%8b%95%e6%93%8d%e4%bd%9c%e3%80%80selenium%e3%80%90%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e5%8b%89%e5%bc%b7%e4%b8%ad%e3%80%91/
自動化のアイデア③ 画像処理
画像処理ライブラリPillowは、画像の拡大・縮小、トリミングなどの画像編集が一括処理できるそうです。
自動化のアイデア④ Excel処理:openpyxl
「Python自動化」の代表格です。Excel自体がビジネスシーンで一番多く使用されている表計算ソフトですので、Excelへのデータ入力やコピーアンドペーストといった転記作業など、簡単ですが、メンドクサイ作業の自動化に興味を持たれるヒトが多いと思います。
Webサイトの情報や、ブラウザや他のアプリと連携させてExcel操作をしたいときには、BeautifulSoupやSeleniumを活用できますので、Pythonでプログラムを作成するのがオススメです。
※Excelだけで完結する作業ならVBAの方が適していると思います。
自動化のアイデア⑤ APIとの連携:Twitter API / Gmail API など
API(Application Programming Interface)は、Pythonで作成したプログラムとTwitterなどのWebサービスを連携させる便利な道具です。
たとえば、Webで収集したデータをLineでメッセージ送信するなど、PythonプログラムだけだとできなそうなこともAPIを使用することで実現できることの範囲が広がります。
ヨスケは近日、Line連携のタスクをPythonプログラムでやってみようと検討中です!
まとめ Python自動化プログラムの学習の進め方
ヨスケがこれまで4か月ほどPythonの学習をして理解した学習の進め方をまとめます。

Python学習のステップ
ここまで読んでいただいた方はもうお分かりだと思いますが、プログラミングの学習で一番大事なのは「やりたい処理が明確であるか」だと考えています。
やりたいことがないと、どのライブラリ・APIを使えば良いかよくわかりませんし、やみくもに勉強をしても成果が出ないので達成感が得られず、途中で飽きてしまいます。
ぜひ「やりたいことができる道具を使いこなす」ことができるような学習をしていただければと思います。
↓プログラミング系書籍の広告