最近よく「Pythonで業務効率化!」という言葉を耳にします。
- Pythonでの業務効率化っていったいどんなことができるの?
- 有効な効率化ができるなら、これを機会にPythonを覚えてみようと思うけど、どんなことができるかわからないから不安!
という方も多いのではないでしょうか。今回は、Pythonでできる業務効率化の具体例を見ていきたいと思います。
この記事はこれからPythonを学ぶ方の中でも、特にAIや機械学習、データ分析を目的に学ぶ方に対し、Pythonを学ぶとできる業務効率化について紹介したいと思います。Pythonが様々な面倒くさい作業の効率化に役立つことがわかり、学習のモチベーションアップにつながることでしょう。
- Pythonによりできる業務効率化の例がわかります
- 業務効率化以外のPythonでできることがわかります
- そのようなPythonを学習する方法がわかります
Pythonってどんなプログラムなの?
Pythonは汎用性の高いプログラミング言語で、非常に読みやすい言語です。そのため、初心者にも比較的学びやすい言語となっています。また、Web開発、データ分析、人工知能、機械学習など様々な用途で使用されています。
Pythonの学習に関しては以下のシリーズで紹介していますので、学習の参考にしてください。
また、Python習得の勉強ロードマップに関しては以下の記事にまとまっていますので参考にしてください。
また、Pythonは豊富な標準ライブラリを持っています。これにより、ファイル操作、Webサーバーの作成、電子メールの送信、GUIの作成など、多くのタスクを簡単に行うことができます。このようなライブラリを利用することにより、今回のテーマである業務効率化を行うことができます。
ライブラリに関しては、以下の記事にまとまっていますので学習の参考にして下さい。
Pythonでこんな効率化ができます
○Pythonでできる業務効率化
- ファイルの操作
- エクセル操作
- 画像操作
- メールの送信
- スクレイピング
①ファイルの操作
日々のファイル操作で困ったことはありませんか?例えば
- 発注する際に、件名だけ変えて発注先ごとに複数同じファイルを作成している
- 製品温度の実測値を何度も記入している
など、ファイル操作は1回なら「ファイルを開く」>「記入する」>「閉じる」のような簡単な作業ですが、繰り返し行う必要が発生するとファイルが開くのに時間がかかったり、「このファイル更新した?」と不安になってやり直したり、想像以上に時間がかかってしまいます。
f = open("test.txt", "w")
f.write("test")
f.close()
Pythonではファイルの読み書きなど、ファイルの操作が可能です。この例では「test.txt」に「test」という文字を書きこんでいます。このようにファイルを操作することにより、ファイルの更新をする自動化などが可能です。
import os
for i in range(5):
os.mkdir(str(i))
また、このようにすればフォルダを自動でいくつも作成することが可能です。今回は数字で0~4のフォルダを作成していますが、リストで作成したいファイルの一覧を作成すればその名前のフォルダを作成できます。
このようにすれば「shutil.copy()」などと組み合わせて、日ごとのデータ作成など決まったタイミングでデータをコピーする仕事を自動化することが可能です。
以下csvファイルの操作についてまとめています。
②エクセルの操作
ファイル操作同様、1回の書き込みなら簡単ですが、複数回書き込みが必要になると途端に面倒になるものにエクセルがあります。エクセルは特に開くために時間がかかるので繰り返し操作は避けたいところです。
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = 'test'
wb.save('./test.xlsx')
Pythonを使えばエクセルも簡単に操作できます。この例では「openpyxl」というライブラリを使用して「A1」のセルに「test」と記入しています。
このような操作を活用すればPythonのリストから複数のエクセルを作成したり、外部の情報をエクセルに書き込んで自動で更新することなどが可能です。
特にエクセルに関しては、エクセルを開かなくても操作が可能なため、いくつものファイルに連続してデータを書き込む場合などに効果を発揮します。
エクセルのシートを開く時間をずっと待っている必要がなくなるだけでも非常に時間の短縮になりますが、決まった部位に少しだけデータを書き込みたいときには特に便利さを実感できることでしょう。
ライブラリについては下のシリーズで紹介していますので参考にしてください。
③画像操作
画像処理に関しても、画像を使用前と同じサイズに加工するなど繰り返し作業が発生することが多々あります。これもPythonを使用して簡単に自動化できます。
import cv2
img = cv2.imread('./Sample.jpg')
img0 = cv2.resize(img,(250,180))
Pythonは画像の操作も可能です。この例ではCV2を利用して「Sample.jpg」を読み込んで、画像のサイズを変更しています。このような操作をすることにより、複数の画像データのサイズ変更が可能です。
先ほど紹介したエクセルの操作と合わせると、サイズ変更後に自動で画像を張る自動化などが可能です。以下、CV2の扱いについて紹介している記事になりますので参考にしてください。
④メールの送信
メールの送信に関しても、毎月同じようなメールを送信したり、たくさんの宛先にメールを送付することもよくあります。
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('本文', 'plain', 'utf-8')
msg['Subject'] = 'メールタイトル'
msg['From'] = '送信元アドレス'
msg['To'] = '送信先アドレス'
with smtplib.SMTP_SSL(host="host name", port=465) as smtp:
smtp.login('ユーザー名', 'パスワード')
smtp.send_message(msg)
smtp.quit()
これは簡単にメールを送信するプログラムですが、エクセルなどからデータを読み込むことにより複数の宛先にメールを送信したり、処理が終わったらメールを送るなど自動化が可能です。
⑤スクレイピング
Webサイトから情報を自動収集することも可能です。有名なものにSeleniumなどがあります。
スクレイピングに関しての詳細なコードはここでは割愛しますが、先ほどのSeleniumを参考にしていただき、それでもわからない時はTech Teacherに相談してみてください。
Pythonで業務効率化以外にできること
AI・機械学習
Pythonは幅広い用途に用いられ、その中でもAI・機械学習が特に有名です。下記のような画像に映っているものを認識する「画像認識」ができます。
以下の記事では、初学者でも比較的簡単に画像の分類を体験できるAIの作成方法を紹介しています。
データ分析
また、Pythonをデータ分析に活用しようと考えている方も多いと思います。Pythonはデータ分析に関するライブラリが豊富にそろっており、コンパイルせずにすぐ計算結果がかえってくるため、データ分析には非常によいプログラムになっています。
下記に示すようなデータ分析の手法が比較的簡単に実装できるのもPythonの特徴です。ぜひ、合わせて読んでみてください!
アプリケーション
PythonはAIや機械学習のようなものから、今回見てきた業務改善のように比較的簡単なもの、そしてAmazonやSpotifyのように大手のサービスでもPythonで作成されたものもあります。Pythonの様々な使われ方には以下の記事で紹介していますので参考にしてください。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
今回はPythonによる業務効率化を中心に、Pythonでできることを確認してきました。機械学習やデータサイエンスの目的でPythonを学ぶ方が多いと思いますが、Pythonはそれ以外にもいろいろ活用ができることを紹介してきました。
今回の記事で、Pythonを学ぶモチベーションアップにつなげていただきたいです。