ゼロから始めるPythonを使った業務の自動化

こんにちは、吉政創成 菱沼と申します。

この度、「シゴトがはかどるPython自動処理の教科書(著:クジラ飛行机様/マイナビ出版)」を利用して、Pythonを使った自動化について学ぶというコラムを書かせていただく事になりました。この本を通して皆様と一緒に学んでいきたいと思っています。

私自身は、プログラミング分野において超初心者です。

ただ、一度だけ、定期的に行うある業務がとっても時間がかかるうえに手間が多くて面倒だし目がしぱしぱするし、楽にできないかな~…という、ただそれだけのモチベーションで一つのプログラムを作り上げたことがあります。

これを作るのに非常に四苦八苦し、Googleで何度も検索しながら、なんとか作り上げました。完成後はそれまで2、3時間かかっていた作業が30分ほどで済むようになり、目がしぱしぱしなくなりました。似たような業務が出てきたときには中身をちょっと書き換えれば流用できてしまうので、今や私の業務には欠かせない大切なプログラムです。

この経験を通して、プログラミングとはなんと素晴らしいものなのだ…と感動したのをよく覚えています。

昨今はWebで検索すればサンプルコードを簡単に得られますので、正直に言ってしまえばプログラミング自体を詳しく知らなくても、なんとかできてしまう部分は多々あります。実際私もそうでした。

ただ、目的とするものが作れたからと言ってプログラミングを理解できているか、一から自分で、安全で、誰もが使えるものを作り上げられるかというとそれは別問題だと思っていたところに、Pythonという言語を学習する機会を得ました。

Pythonはプログラミング初心者の方にとっては学習しやすい言語だと言われており、また誰もが使えるものにするのにはとても適した言語だと言われています。

私のPythonに対する経験というと、今回使うテキストではない別の初心者向けテキストで学習をしたことがありますので、最低限の知識はある程度です。

今回利用する書籍はExcelを自動で操作するなどのお話も出てきますので、定型的な業務を抱えているような方がお仕事を楽にするヒントになるかもしれません。

これまでに学んだことを振り返りながら書いていきたいと思いますので、今までプログラミングに興味があってもなかなか手を出せなかった方、お仕事を楽にしたいという方、一緒に学んでいただけますと幸いです。

目次

そもそもPythonとはなにものか。

Pythonのいいところは、文法が他言語に比べてシンプルでわかりやすいものになっていることで、誰が書いても同じようなコードになりやすいといった点があるそうです。結果、可読性が高くなりますので、メンテナンスがしやすい、コードチェックしやすいといった利点もあるとのこと。

Pythonはここ数年の間に急激に注目度が上がっている言語で、TIOBEプログラミング言語ランキングでC言語やJavaなどのあまたの有名言語の中から1位を獲得しています。主にデータ分析やAI、機械学習といった方面で使いやすいという事もあってより支持を集める結果になっている模様。

—–

引用P.5

本書のテーマである事務作業の自動化、データ解析、科学計算、IoT、AI(人工知能)まで、多様な分野のプログラムを作ることができます。

なお、Pythonがこれだけ人気になったのには、AI分野で大きな成果を上げたことも理由です。以前からPythonは仕事の自動化で使われていましたが、化学計算ライブラリが充実していたことから、その発展で「AIをやるならPython」という流れができて、現在のPython人気につながりました。

(中略)

なお、Pythonを使って作られたWebサービスには、InstagramやYouTube、Dropboxなど有名なものが多くあります。

—–

データ分析やAI、Instagramなどで使われている!なんて言葉を見ると、なんだか難しそう…と、しり込みしたくなるかもしれませんが、例えば数字あてゲームとか、割り勘アプリのような簡単なものも作れますので安心してください。

ところで、文中に出てきたライブラリ。これは、よく利用される機能をひとつにまとめたもので、わざわざ自分ですべてコードを書かなくても使いたい機能を使うことができます。

機能とはモジュールとも言います。具体的に何かというと、例えばランダムな数字を出す「機能」とか、カレンダーを表示する「機能」とかです。それらのモジュールを複数集めたものをパッケージ、パッケージを複数集めたものをライブラリと言います。

Pythonのライブラリで有名なものはいくつかありますが、データ分析ならNumPyやpandasといった計算系のライブラリが有名です。Pythonの人気の理由の一つが、このライブラリが充実していることになります。

ちなみに、Pythonで使えるライブラリはPyPI(The Python Package Index)で探せるので興味がある方は覗いてみてくださいね。

Pythonの最新バージョンは3.12、バージョンアップはいつする?

さて、そんなPythonは3.9のリリース以降は毎年新しいバージョンをリリースしており、現在の最新バージョンは昨年10月に公開された3.12です。(3.8までは18か月ごとにリリースしていたそうです。)

Pythonは基本的に、互換性を維持してバージョンアップされていますので、現在主流のPython3代であれば、ほぼ問題なく利用できます。

但し、Python2とPython3では互換性が維持されておらず、一部の記述方法が違います。とはいえ、これから学習される方はPython3だと思いますので、あまり関係のない話ではありますが、Python2で作られたアプリをメンテナンスする機会があるかもしれません。一応そんなことがあるんだなーくらいに認識だけして頂ければと思います。

ちなみにバージョンアップは毎年されるものの、基本的に5年間はサポートされますので、大体の開発者はそんなに急いでバージョンアップしないそうです。変えるタイミングとしては、ライブラリが新バージョンに対応してからとか、新しい機能を使ってみたいとかだそう。特に急ぐ必要がなければ様子見として、おおよそ半年から1年ほど経ってから新バージョンを利用しているようです。

事務仕事を楽にしたい!自分の仕事のどこにPythonを使えるか?

このテキストではPythonによる「仕事の自動化」を学ぶことになりますが、具体的に何ができるのでしょうか。

——

引用P5.

どんな仕事が自動化できるのか

・ファイル処理(コピーや削除、検索など)

・データの圧縮・回答や暗号化

・各種データファイルの読み書き

・Excelの操作

・メールの送受信

・ネットワーク処理(データ送受信やスクレイピング)

・データベースの操作

・グラフやレポートの作成

ここに挙げたのは、できることのほんの一部です。

引用P.6

どんな仕事を自動化し、どんな仕事はしないのかというのは、ケースバイケースと言えます。それでも、「繰り返し発生する仕事」は自動化するべき仕事に違いありません。

例えば、毎週月曜日の午後に定例ミーティングがあったとします。その際、毎回、膨大な連絡先一覧から参加メンバーだけを選び、メールを送るというのは、なかなか大変な作業です。このタスクは毎週「繰り返し発生する仕事」です。そうであれば、毎週決められた時刻に自動でメールを送信するプログラムを作りましょう。Pythonを使えば、簡単に自動化することができます。ただしなんでも自動化すればいいというものではありません。プログラムを作るよりも手作業でやった方が明らかに早い仕事もたくさんあるからです。もちろん、手作業の方が速いなら、プログラムを作る必要はないでしょう。

(中略)

こんなタスクはプログラムを作るべき

・手作業よりもプログラムを作った方が早いタスク

・繰り返し発生するタスク

・手作業でやると間違いが多そうなタスク

・単調でつまらないタスク

・手順が複雑でシステム化したイタスク

・プログラムを作ると面白いタスク

——

だれしも思い当たる業務がひとつはあると思います。

そういえば冒頭でお話したプログラム。あれもPythonに置き換えられるんですよね。外部のAPIも使う必要があるので、特に問題もないからと面倒で放置してきましたが、その内リニューアルにチャレンジしたいと思います。

ここでChapter1-1が終わりです。

きりが良いので今回はこちらで終了します。お付き合いいただきありがとうございました。

なお、Pythonの自動化で業務の効率化を図りたい方は、グローバルウェイに依頼してみてはいかがでしょうか?興味がある方は以下をご覧の上、是非お問い合わせください。
https://gw-python.com/python-auto

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次