Pythonで自動化して業務効率化!実例とサンプルプログラムを用いて解説します

2021.01.04 /

Pythonで自動化して業務効率化!実例とサンプルプログラムを用いて解説します

Pythonを用いることで様々な業務を効率化・自動化できます。
エクセル・OUTLOOK・PDFなどの操作を自動化して業務効率化がPythonで簡単にできます。

「でも具体的にどういったことができるのかわからないんですよねー」
と思われる方も多いでしょう。

そこで本記事では、実例やサンプルプログラム(記載記事の紹介)を紹介しながら、業務効率化・自動化の方法について解説していきます。

あなたのどの業務に対して適応できるか考えながら、業務効率化・自動化の具体例を見ていただければと思います。

エクセル

Pythonのopenpyxlやxlwings、win32comなどのパッケージを使用してエクセル操作を行えます。

これらを使用してエクセル業務を自動化できます。
わたしは基本的なセル操作にはopenpyxlを使用し、VBAマクロを使う場合はwin32comを使用します。

指定した数のエクセルファイルを自動作成

数十個のエクセルを手動で作るとなると時間がかかるし面倒くさいですよね。

openpyxlを使って一瞬で数十個のエクセルを作成できます。

OUTLOOK

添付ファイルを指定フォルダに自動保存

「メールの添付ファイルを一つ一つ保存するのが面倒くさい」

毎日何百通ものメールを受信している場合、そのメール群の添付ファイルをパソコンに保存するのはとても時間がかかりますよね。

Pythonを使えば一気に添付ファイルを保存することができます。

pypiwin32を使ってOUTLOOKに接続します。

上記リンク記事で作成するアプリでは、期間を限定して指定ファルダに添付ファイルを保存できます。
tkinterを使用したGUIアプリケーションとなっています。

tkinterアプリ画面

PDF

PDFのファイル名:内容を読み取り変更する

「複数のPDFのファイル名を一気に変更したい」

ファイル名を変更したいPDFが一つであれば、手動でもすぐに変更できます。
しかし対象のPDFが数十枚にもなると手動によるファイル名変更は時間がかかります。

この作業をPythonを使って一発ですべてのPDFファイル名を変更することができます。

変更するPDFのファイル名はエクセルに予め保存しておき、ファイル名を変更する際にエクセルを読み取ってファイル名を付ける方法があります。

この場合はopenpyxlモジュールといったPythonでエクセルを操作するモジュール(パッケージ)を使います。

またPDFの中身を読み取り、その文字列をファイル名にする方法もあります。

以下リンク先の記事では後者の「PDFの中身を読み取る方法」について解説しています。

PDFの中身を読み取るのにはPyPDF2モジュールを使用します。

PDF上にPDFを貼り付ける

PDF(特定の書類)上に、別のPDF(またはエクセルやワード)を貼り付ける作業があるとします。

通常であればPDFを一旦印刷して、その上にPDF(またはエクセルやワード)を印刷するという面倒くさい方法をとる必要があります。

この作業をパソコン上で簡単にできるようにすれば、業務効率は格段に上がります。

ここではPyPDF2モジュールやmergePageメソッドを使用しています。

PDF上に透かしを入れる

「フォルダ内すべてのPDFに透かし(ロゴや社外秘)を入れたい」

Pythonを用いれば一気にすべてのPDFに対して透かしを入れることができます。

透かしを入れるには「PDF上にPDFを貼り付ける」で説明しているmergePageメソッドを使用します。
フォルダ内のファイル情報を取得するにはglobなどを使います。

テキストファイル

Pythonではテキストファイルの内容を読み取って、編集したり他のアプリケーションに利用したりすることができます。

わたしが今までに作成したアプリケーションでは、テキストファイルの間違っている箇所を自動で検出し訂正するアプリ、テキストファイルの文字列をエクセルに転記するアプリなど作成しました。

このように様々なアプリケーションと連携させることができるのもPythonの強みの一つです。

RPA

「単純作業を覚えさせて自動化させたい!」

単純作業を自動化させる要望は非常に多いです。
これはパソコン操作を記憶させて自動化させるRPA(Robotic Process Automation)を用いれば実現可能です。

しかしRPAは費用が高くて中小企業で取り入れるにはハードルが高いですよね。

ですがPythonを用いることでRPAを作成することができます。

販売されているような高機能なRPAを作成するのは非常に難しいですが、ちょっとしたものであれば少し勉強することで作成することも可能です。

以下記事ではマウス操作・キーボード操作を検知する方法を紹介しています。

WEBスクレイピング

PythonにはWEBスクレイピングするためのライブラリがたくさんあります。

WEBスクレイピングとは様々なWEBサイトから希望のデータ(情報)を自動的に集める手法のことです。

手動で様々なWEBサイトから情報を集めるとなると、ブラウザでサイトにアクセスして、コピー&ペーストを繰り返すことになります。
これだと非常に多くの時間がかかります。

Pythonを用いたWEBスクレイピングであれば、プログラムが自動で目的の情報を収集してくれます。

WEBスクレイピングを行うためのライブラリ(モジュール)がPythonには揃っています。

モジュール名 説明
webbrowser ブラウザで指定ページを開くためのモジュール
Requests ファイルやWEBページをダウンロードする
Beautiful Soup HTMLをパース(解釈)する
Selenium WEBブラウザを起動・制御する

まとめ

本記事「Pythonで自動化して業務効率化!実例とサンプルプログラムを用いて解説します」はいかがでしたか。

Pythonは様々なアプリケーションを連携させて業務を自動化させることができます。
可能性は無限大です!

みなさんもPythonを駆使して業務効率化をどんどん進めてくださいね。