先日私がツイートした下記が大変好評をいただきました。
Pythonでできることを大きく分けると、3つです。
(1) 業務の自動化(Webスクレピング、Excel自動化、ファイルやフォルダ操作など)
(2) データ分析、機械学習
(3) Webアプリ開発全人類に、おすすめしたいのは、(1)です。
どんな仕事にも、成果に直結しない雑務のような仕事があるからです。 pic.twitter.com/UujJMw6Xgo— キノコード|プログラミング教育系YouTuber(16万人) (@kino_code) November 6, 2022
このツイートでも紹介させてもらったように、全人類に、おすすめしたいのが「Pythonによる業務自動化」です。
なぜなら、仕事の成果に直結しないものは、コンピュータに任せた方が良いですよね。
一度プログラムを組んでしまえば、24時間365日、コンピュータは働いてくれます。
無料で働いてくれる部下を雇う感覚です。
そして、あなたは、成果がでる仕事、勉強などの将来の自己投資をすればよいと思っています。
この記事では、「Pythonによる業務自動化」の魅力、業務自動化の事例、習得方法について、
プログラミング未経験者にもわかるように解説をしていきたいと思います。
こんな悩みを抱えている方におすすめ
この記事は、下記を知りたい方、悩みを抱えている方を対象としています。
ぜひご参考になさってください。
- Pythonによる業務自動化に興味を持っている方
- Pythonによる業務自動化でどんなことができるか知りたい方
- Pythonによる業務自動化の学習方法がわからない方
- Pythonによる業務自動化の習得までにかかる時間を知りたい方
この記事のわかること
この記事では、下記のことを丁寧に解説していきます。
- 「Pythonによる業務自動化」をすすめる理由
- 「Pythonによる業務自動化」の魅力
- 「Pythonによる業務自動化」のできること(具体的な事例)
- 「Pythonによる業務自動化」の習得方法や学習時間
「Pythonによる業務自動化」をすすめる理由
意味のない仕事というのは、存在しないと思っています。
しかし、どうしても成果がつながりにくい仕事と、成果につながる仕事というものが存在します。
成果につながりにくい仕事には下記のようなものがあります。
- 定型的なデータ取得の作業
- 定型的なデータ集計やレポートの作成
- 定型的なメール送信の作業
今はデジタルの時代、DXの時代。
コンピュータに任せることができる時代です。
そして、それを実現できるのが、Pythonです。
定型作業については、Pythonで自動化できる可能性は高いでしょう。
成果がつながらない仕事はコンピュータに任せて、成果につながる仕事、あるいは、人間にしかできない仕事に専念をしましょう。
成果につながる仕事には下記のようなものがあります。
- 集計結果からデータ分析をして仮説を立てる
- 重要なキーパーソンに会う
- 業務改善案を考える
- 新規事業案を企画する
- 本や人と合いインプットをして自己投資をする
「Pythonによる業務自動化」の魅力
では、Pythonによる業務自動化の魅力はどんなところにあるでしょうか?
例えば、毎日の定型業務が2時間あったとします。
月間で40時間です。
厚生労働省が発表しているデータによると日本の会社員の平均時給は約2000円です。
月間だと8万円です。
この8万円の作業を自動化できたら、利益を確保できることができます。
営業利益が20%の会社なら、売上換算をすると40万円です。
つまり、その作業をPythonで自動化できれば売上40万円を創出していることになります。
また、Pythonなどのプログラムの特徴は、汎用性があるということです。
つまり、誰でも使えるということです。
例えば、そのプログラムを他の人にも配り使えるようになったとします。
10人の部署なら400万円の売上貢献です。
100人なら4000万円です。
これを実現できれば、あなたは会社のMVPの候補になれるでしょう。
また、あなたは、会社の業務自動化のエンジニアに任命されるかもしれません。
ただし、評価者が上記のように判断してくれるかわかりません。
しっかり、評価者に対して業務自動化したことを評価してもらうようにアピールしましょう。
ビジネスパーソンは、売上アップの貢献をしたか?コスト削減したか?の2つで評価されます。
これ以外に、基本的に評価されないと考えて良いです。
これは、ビジネスの原則です。
それにも関わらず、評価されないのであれば、上記原則に基づいて評価されずに、感情などで評価されると考えています。
その場合は、転職を検討されるとよいでしょう。
以上が、私が「Pythonによる業務自動化」をすすめる理由、あるいは、魅力です。
キノコードでは、このPythonを習得するためのPython学習サービス「キノクエスト」を運営しています。
キノクエストには、学習カリキュラムがあり、学習順番に悩むことなく学習を進められます。
月額1,990円と本1冊分の値段です。
キノクエストの特徴は下記の通りです。
- Python学習をしている仲間が集まるコミュニティがある
- 1000問以上の問題を解いてプログラミングを習得
- 環境構築不要ですぐに始められる
- 動画と連動しているので、インプットもできる。
- 月額1,990円で、コミュニティもセット
キノクエストを詳しく知りたい方は、紹介ページをご覧ください。
▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/
「Pythonによる業務自動化」のできること(具体的な事例)
Pythonによる業務自動化では、どんなことができるのでしょうか?
ここでは、具体的な事例を30個ほどあげていきたいと思います。
ウェブスクレイピング、ブラウザ操作の自動化
ウェブスクレイピングとは、インターネットに掲載されている文字、数値、画像などのデータを取得することがで技術のことをいいます。
もし、手作業でやるなら、ウェブサイトにいき、文字や数字でのデータであればコピーと貼り付けをする、画像であれば、右クリックで保存をすることになります。
しかし、これが大量データであれば、時間と労力がかかり大変です。
これらの作業を自動化することができるのが、ウェブスクレイピングの技術です。
ただし、自社サイト以外からデータを取得する場合、法律問題をクリアする必要があります。
弁護士の方が解説をした記事があります。
ちなみに、以降に説明をするブラウザとは、Google Chrome、Safari、Microsoft Edgeなどのインターネットを閲覧するソフトウェアのことです。
-
ウェブスクレイピングで指定したウェブサイトにある文字、テキストの取得
Beatiful Soupというライブラリを使うと、指定したウェブサイトに掲載されている画像を取得することができます。 -
ウェブスクレイピングで特定のウェブサイトにある画像の取得
Beatiful Soupというライブラリを使うと、指定したウェブサイトに掲載されている画像を取得することができます。 -
キーワードを指定して画像取得
画像認識の機械学習を開発する際、大量の画像が必要になります。
iclawlerというライブラリを使うと、指定したキーワードの画像を大量に取得することができます。 -
Googleなどの検索結果ページのデータ取得
SEO対策をしていると検索順位を定期的に取得をしたいことがあります。
Seleniumというライブラリを使うと、ブラウザ操作を自動化できます。
Seleniumを使ってGoogleなどの検索欄に入力。
Beatiful Soupを使って検索結果のテキストを取得することができます。 -
ブラウザ操作の自動化して会員サイトにログイン
上記の通り、Seleniumというライブラリを使うと、ブラウザ操作を自動化できます。
ブラウザを操作をして、会員サイトの入力欄にIDやパスワードを入力、ログインボタンのクリックを自動化できます。 -
ブラウザ操作の自動化して特定のページからファイルをダウンロード
上記の通り、Seleniumというライブラリを使うと、ブラウザ操作を自動化できます。
特定ページに遷移をして、ダウンロードボタンのクリックを操作することができます。
ExcelやGoogleスプレッドシートの自動化
Excel操作の自動化は、OpenPyXLというライブラリを使うと実現できます。
Googleスプレッドシートの自動化については、Google系のAPIや、gspreadというライブラリを使うと実現できます。
ExcelやGoogleスプレッドシートで自動化できるものは、下記のようなものがあります。
- Excel、csv、Googleスプレッドシートからデータ取得する
- Excelに記載があるカテゴリなどのグループごとに合計や平均を算出する
- 集計などの処理をした結果を、Excel、csv、Googleスプレッドシートなどに書き出し
- 複数のワークシートを縦につなげて1つにする
- ひとつのワークシートを、複数のワークシートやExcelファイルを分割する
ファイルやフォルダの自動操作
Pythonの標準ライブラリを使って、ファイルやフォルダの自動操作、具体的には、作成、削除、移動、名前変更などが可能です。
標準ライブラリとしては、ファイル名を見つけるためのglob、osを操作できるosライブラリ、フォルダを操作できるshutil(シューティル)などがあります。
- ファイルの名前変更、移動などのファイル操作
- パソコンにある全フォルダの一覧取得
- 特定のフォルダにあるすべてのファイル名の取得
- 拡張子ごとに特定のフォルダに移動
- 拡張子を一括変換
マウスやキーボードなどのデスクトップ操作の自動化
PythonライブラリのPyAutoGUIなどを使うと、パソコンのデスクトップ操作を自動化することができます。
具体的には次のようなことができるようになります。
他にも、Pythonには、PyAutoGUIというライブラリがあります。
このライブラリを使うと、キーボードやマウス操作を自動化することができます。
OSライブラリを使用してできることには下記のようなものがあります。
- マウスポイントを移動
- マウスを指定した位置で右クリックや左クリック、指定した回数でクリックすることができる
- 指定したキーを入力できる
- 特定のアプリケーションを定期的に起動する。
- デスクトップのメニューやボタンを自動的にクリックして、特定の操作を行う。
- 特定の時間やイベントに基づいて、定期的にスクリーンショットを撮る。
APIの利用
企業が提供しているAPIは、Pythonにほとんど対応しているといっても過言ではありません。
APIを通して、企業が提供するサービスの自動化が可能です。
APIとしては次のようなものがあります。
- Google AnalyticsのデータをPythonで取得することができるGoogle Analytics API。
- Google MapsをPythonで操作できる、Google Maps API。
- Facebookのユーザー情報や投稿、写真などをPythonで操作できるFacebook Graph API
- Twitterのツイートの取得や投稿などをPythonでできるTwitter API。
- 天気の情報を取得できるOpenWeatherMap API。
- Slackのメッセージ送信、チャンネル管理などをPythonでできるSlack API。
- Shotifyのプレイリストの作成や管理などをPythonでできるSpotify Web API。
- Notionのデータを操作、データ取得、検索、ページ作成などPythonでできるNotion API。
- ChatGPTをPythonで操作できるChatGPT API。
- LINEのメッセージ送信などができるLINE API
- Amazonの商品情報の登録・更新、注文レポートの取得、商品情報の検索などができるAmazon API
- 楽天市場内の商品をキーワードやカテゴリで検索し、その結果を取得ができる楽天商品検索API
LINEやGmailなどのメッセージ送信の自動化
smtplibやemailライブラリを使って、自動的にEメールを送信することが可能です。
- 定期的なメールの配信
- 今まで説明したきた自動化した処理内容やタスクをメールで配信
- ファイナンスの分析など特定のイベントが発生した際のアラート通知をするメール配信などを自動化
- LINEやSlackでメッセージがきたら自動的に応答メッセージを送る
- LINEやSlackで指定した時間になったら定期的にメッセージを送る
- LINEやSlackのメッセージで送った画像、動画、音声、およびファイルを取得する
- LINEやSlackで友達やチャンネルなどで送信したメッセージ数を取得する
データ分析、レポート作成の自動化
Pandas、Matplotlibなどを使うとデータ分析をすることができます。
一度、分析のプログラムを組めばデータ分析を自動化することができます。
JupyterNotebookでは、テキストや表、グラフなどを表示させることができます。
したがって、それをそのまま分析レポートとして活用することができます。
また、それをメール配信をして、分析レポートの配信自動化することもできます。
さらには、PythonのライブラリであるStreamlit(ストリームリット)を使うと、TableauやPowerBIのようなGUIで操作できる分析ツール(ダッシュボード)を作成することができます。
そのダッシュボードを配布すれば、あなたはもっとコアな分析業務に専念することができるでしょう。
- データ分析の自動化
- データ分析レポートの自動化
- データ分析レポート作成からメール配信までの自動化
- データ分析のダッシュボード構築
その他
画像処理については、OpenCVというライブラリがあります。
PDF操作については、PyPDF2、pdfminer.sixというライブラリがあります。
音声処理については、PydubやgTTSというライブラリがあります。
動画編集については、MoviePyというライブラリがあります。
上記のライブラリを使って、下記のようなことができます。
- 画像の中から顔のデータのラベル付の自動化
- 画像の読み込み、表示、保存、画像のリサイズや回転、明るさやコントラストの調整の自動化
- PDFに記載があるテキストを取得
- PDFにある画像を取得
- 動画の音声が入っていない部分をカットできる
- 動画のフェードアウト、フェードインなどのエフェクトの追加
- 音声情報を取得できる
- 画像ファイルから人間の顔をカウントすることができる
- 画像ファイルからテキストを取得することができる
- GoogleDriveなどのクラウドストレージを使ったデータバックアップと復元の自動化
- Wordファイルを操作するpython-docxなどライブラリを使ったWordでの作業の自動化
「Pythonによる業務自動化」の学習ロードマップ
業務自動化には、「Python基礎 + Pandas + 業務自動化関連のPythonライブラリ」が必要です。
順に説明しますね。
Python基礎とは?
では、Pythonの基礎とはなんでしょうか?
キノコードでは、Python超入門講座という動画を出しています。
この内容が、私が考えるPythonの基礎になります。
具体的には、Pythonの基礎は、制御構造であるfor文やif文、そして、リスト、関数、クラスなどです。
Python基礎の習得に時間
YouTube動画のPython超入門は、動画の長さとしては約1時間あります。
プログラミング学習サービスの「キノクエスト」には、Python超入門講座の問題は、約100問あります。
1日1時間ずつ勉強するのであれば、1日10問進めれると仮定します。
そうすると、10日間で終わることになります。
ただし、Python入門者であれば、迷う点があると思います。
さらには、復習などを含めると、その倍はかかると想定されます。
したがって、Python基礎の学習時間は約1ヶ月はかかると想定されます。
なお、Python学習サービス「キノクエスト」は、学習カリキュラムがあり、学習順番や学習方法に迷うことがありません。
動画もあるのでインプットができ、環境構築不要のコードを書く機能もあります。
Python学習のお供にご登録ください。
▼キノクエストの紹介ページ
「こちらをクリック」
Pandasとは?
Pythonの基礎を習得した後は、Pandasを学習しましょう。
Pandasとは、データをExcelのような表形式で扱うことができるPythonのライブラリです。
Pandasの読み方は、「パンダス」です。
例えば、Pandasでは、下記のようなことができます。
- csvファイルを読み取るための機能
- Excelのデータを読み取る機能
- 列や行を追加、変更、削除ができる
- フィルターをかけて特定の行を抽出できる
- 列の並び替えができる
- グループごとに集計することができる
- 表同士をデータを特定のキーで結合することができる
- 時系列のデータを扱うことができる
このようにPandasでは色々なことができます。
Excelを使ったことある方なら、Excelでできることは、Pandasではほぼできるといっても過言ではないです。
上記のようなことができるため、Pandasでは、下記のような作業を自動化することができます。
- 複数のExcelやcsvファイルを読み込む
- 列や行を削除、特定の条件で抽出、データ同士を結合
- グループごとに集計
- グループごとに複数のExcelに書き出し
業務では、売上だったり、在庫データであったり、経理のデータであったり、Excelのような表形式にしてデータを扱うことが多いですよね。
そのため、Pandasでは、こういった集計業務で大活躍します。
Pandasの習得にかかる時間
次にPandasの習得時間です。
キノコードが運営するPython学習サービス「キノクエスト」には、Pandasの問題は、約300問あります。
1日1時間ずつ勉強するのであれば、1日10問進めれると仮定します。
そうすると、30日間で終わることになります。
ただし、復習などを含めると、その倍はかかると想定されます。
したがって、Pandas習得までにかかる時間は、2ヶ月と想定されます。
業務自動化関連のPythonライブラリとは?
Pythonには、たくさんのライブラリがあります。
Pythonが人気言語No.1の理由は、ここにあるといってもいいでしょう。
業務自動化を習得するには、業務自動化関連のPythonライブラリを使いこなす必要があります。
業務自動化関連のライブラリにはどんなものがあるのかは、「Pythonによる業務自動化」のできること(具体的な事例)の項で説明をしましたが、改めてサマリーで書くと下記のようなものがあります。
- パソコンのフォルダやファイルを操作するライブラリ
- Excel操作のライブラリ
- Google Chromeなどのブラウザ操作の自動化をするライブラリ
- Webサイトからデータを取得するライブラリ
- Twitter、YouTube、GoogleAnalyticsからデータ取得するライブラリ
- データベースからデータ取得するライブラリ
業務自動化系のPythonライブラリの習得にかかる時間
Python基礎の学習時間は、1ヶ月かかるとお伝えしました。
Pandasの学習時間は、2ヶ月で終わります。
業務自動化関連のPythonライブラリの学習については、3~4つ触れば、だいぶ自信になると思います。
2週間で1つずつ学習すると仮定すると、2ヶ月です。
したがって、Pythonによる業務自動化の学習時間は、5ヶ月と想定されます。
Pythonを習得するなら「キノクエスト」
以上が、全人類に、おすすめしたい「Pythonによる業務自動化」についてです。
何度かご紹介させていますが、キノコードでは、このPythonを習得するためのPython学習サービス「キノクエスト」を運営しています。
キノクエストには、プログラミングができる機能があるため、初心者が挫折する環境構築が不要です。
キノクエストならいつでもどこでも学習を始められます!
キノクエストの特徴は下記の通りです。
- Python学習をしている仲間が集まるコミュニティがある
- 1000問以上の問題を解いてプログラミングを習得
- 問題をどんどん解くアウトプット中心のサービス
- 環境構築不要ですぐに始められる
- 動画と連動しているので、インプットもできる。
- 月額1,990円で、コミュニティもセット
キノクエストを詳しく知りたい方は、紹介ページをご覧ください。
▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/