Excel操作からネットワーク確認まで……Pythonは企業のあらゆる業務を改善するPythonによる業務改善とは?個人用途からワークフロー改善まで解説

最終更新日:2021年5月17日

レバテックキャリアは
ITエンジニア・Webクリエイター専門の転職エージェントです

Pythonは機械学習アルゴリズムの開発やビッグデータ解析など、主に先端ITの分野で活用されている言語です。その一方で、学習コストの低さや可読性の高さなどから、非IT人材が業務自動化に活用している例も少なくありません。Pythonを上手く使えば、個人レベルから企業レベルまでさまざまな自動化が可能になるでしょう。ここでは、Pythonによる業務改善について、タスクレベル・ワークフローレベルという2つの視点から具体例を紹介しています。

1. Pythonによる業務改善とは?

Pythonに限らず、プログラミング言語による業務改善の大半は「自動化」によるものです。単純な処理速度で見れば、Pythonよりも優れた言語はいくつもあります。

にもかかわらずPythonが業務改善に活用されるようになった理由の一つとして、Pythonが「学習コストの低さ」「可読性の高さ」などから、非IT人材の間でも広く使われるようになったことが挙げられます。
それによってITエンジニアが開発を行うある程度の規模を持ったシステム開発のみならず、マーケティングデータの収集やメールの自動送信など細かな日常業務の改善も行われるようになったのです。

本章ではそういったPythonによる業務改善の具体例について解説します。

Pythonでの自動化とは?

Pythonによる自動化では、一般的にルーチンワークになりがちな作業をプログラミングによって定型化し、自動的に実行できるようになります。ファイル操作やクリック、入力作業などをごく小さなプログラムで作成し、PC上で実行します。こうすることで、事務処理や打刻処理、Web上からの情報収集といった「個人レベルのタスク」を自動化できるわけです。

Pythonによる業務改善のタイプ

では、もう少し具体的にPythonによる業務改善を説明します。Pythonによる業務改善は、主に「収集」「集計」「入力」の3つを自動化することで達成されています。以下は、それぞれの具体的な例です。

情報収集

Pythonを活用することで「複数のWebサイトから欲しい情報を見つけ出し、手元に保存する」という情報収集作業の自動化が可能です。具体的には次のような方法があります。

クローリング
クローリングとは「複数のWebサイトを巡回し、HTMLなどの情報を取得する」処理のことです。Webクローラーと呼ばれるbotを作成し、検索エンジンやWebサイトを巡回しながらHTML情報を取得していきます。クローリングで取得したHTML情報をもとに、後述のスクレイピングによって情報抽出を行う、といった使い方が一般的です。

スクレイピング
スクレイピングでは、WebサイトのHTMLから欲しい情報を特定し、抽出します。また、抽出した情報を加工しやすい形にして保存することも可能です。スクレイピングを活用することで「特定のキーワードに関連したWebサイトのタイトルとURL一覧」や「ECサイトの人気商品ランキング上位5つ」などを自動的に取得できるようになるわけです。

また、プログラミング次第では「HTTPステータスをチェックしてリンク切れを発見する」「Webシステムから顧客リストを作成する」といった使い方も可能です。ちなみにPythonにはスクレイピング用のライブラリ(Beautiful Soupなど)も用意されています。

集計、分析、可視化

Pythonを使いこなすことができれば「集計」「分析」「可視化」も自動的に行うことができます。

集計と可視化
例えば、日々の業務で蓄積された情報がCSVファイルとして存在するとしましょう。Pythonを活用すれば、CSVファイルからヒストグラムを描くことが可能です。また、データの分布を「散布図」として表現したり、自社Webサイトの内部リンクを「ネットワーク図」として自動的に可視化したりと、意思決定に活用しやすい形に変換できるようになります。

分析
Pythonは機械学習アルゴリズムの実装において頻繁に使われています。業務用データを機械学習アルゴリズムへ投入してマーケティング施策を最大化させる方法を見つけたり、テキストデータからのマイニングによって売上アップにつながる情報を抽出したりと、分析業務の改善が進みます。統計・解析などの知識が必要になるため、やや高度ではあるものの、挑戦してみる価値は十分にあるでしょう。

入力、操作

Pythonは、いわゆる「雑務」と呼ばれる分野の自動化も得意としています。

Excel操作
PythonにはExcelを操作するための「OpenPyXL」というライブラリがあります。OpenPyXLを活用すれば、さまざまな業務用書類(請求書、納品書など)を自動で作成できるようになるのです。イメージとしてはExcelマクロが近いでしょう。ただしOpenPyXLは、Excelマクロが苦手とする「マイクロソフト製ソフト以外との連携」も得意としています。つまり、Googleアプリやビジネスチャットツールとの連携も可能になるわけです。逆にExcelマクロができることはPythonでほぼ実現できます。

メール自動送信
Pythonの外部ライブラリ「smtplib」や「imaplib」を使うことで、メール送信時に使われるプロトコル「SMTP」や「IMAP」を操作できるようになります。また、単に送信するだけではなく、メールの自動作成も可能です。

ブラウザ上でのルーチンワーク自動化
ブラウザの立ち上げや必ず使用するページの表示など、ブラウザに関する定型業務の自動化が可能です。ブラウザ操作自動化用ライブラリとしては「Selenium」が有名でしょう。

2. Pythonによるワークフローレベルの業務改善事例

次に、もう少し規模の大きな業務改善事例を紹介します。これまでの内容はどちらかと言えば個人レベルの「タスク」が多くを占めていました。しかしPythonを上手く使うことで、複数の業務を連動させた「ワークフローレベル」の業務改善も可能です。

共有ファイルの数値更新をチームメンバーに自動通知

ある企業では、「Python」+「Zapier」+「Slack」の組合せでファイル更新を自動的に通知する仕組みを構築しています。

Zapierはワークフロー自動化ツールで、さまざまな外部ツールと連携しつつ定型処理を自動化する機能を持っています。この企業では、共有ファイルの数値が更新されたタイミングをZapierで検知し、Slackから関係各位へ通知する仕組みを使っていました。

しかし、関係者は曜日によって変わるため、通知するタイミングごとに宛先を変えなくてはなりません。Zapierには「曜日によって宛先を変更する機能」が無かったために、この部分をPythonで開発したとのことです。

3つのツールを組み合わせることにより、担当者が入れ替わる環境であってもファイル変更通知が自動的に届く仕組みが確立されました。

翻訳botによるコミュニケーション円滑化

Pythonの活用で、外国人メンバーとのコミュニケーション円滑化が進んだ事例もあります。具体的には、Slack上で任意のメッセージにスタンプを付与すると、そのメッセージが英語に翻訳される仕組みです。メッセージにスタンプがつけられると、Googletrans(翻訳ライブラリ)を読み込んだPythonプログラムが自動実行され、Slack上で翻訳されるようになります。

ネットワーク運用自動化

ネットワークエンジニアであれば、ネットワーク機器の状態確認をコマンド操作で行った経験があるでしょう。Pythonを使うことで、このコマンド操作による確認業務が改善されます。

例えば、ターミナルソフト(tera termなど)上で頻繁に実行するコマンドをマクロとして作成しているとしましょう。このマクロと同様の処理をPythonとPythonライブラリで作成し、より少ない手間で複雑な業務を行えるようになります。具体的な例としては、Pythonライブラリ「subprocess」を使った複数デバイスへのping自動化や、「telnetlib」をつかったtelnet接続と操作の自動化です。

Pythonライブラリを活用することで、より柔軟な設定が可能になるため、煩雑になりがちなネットワーク確認業務が改善されるでしょう。

3. まとめ

Pythonは機械学習アルゴリズム開発やビッグデータ解析など、主に先端ITの分野で活用が進む言語です。その一方で、インタプリタ型言語特有の学習コストの低さや可読性の高さなどから、非IT人材が業務自動化に活用する例も少なくありません。Pythonを上手く使えば、個人レベルから企業レベルまでさまざまな自動化が可能になるでしょう。

ITエンジニア・Webクリエイターの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア・クリエイターを専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングにお越しください。

転職支援サービスに申し込む

また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。

「個別相談会」に申し込む

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

人気の求人特集

内定率が高い

関連する記事

人気の記事

スキルアップ記事トップへ

Pythonの求人・転職一覧