技術職が実践中!Pythonを活用できる会社業務実例紹介

こんにちは、unogram管理人のうのちゅ〜です。

今回は、会社業務へのPython活用を紹介していきます。

私自身、学生時代から研究や日常の様々な場面でPythonを活用してきました。まだPythonを活用したことが無い方は、多様な場面で活用できるPythonの素晴らしさを知って、実際に使ってみてほしいと思います。

前半は「そもそもPythonはなぜ便利なのか?」、後半では技術職の私が実践している例を踏まえ、「会社業務へのPython活用例」をお伝えしていきます。

技術職の方を対象としていますが、プログラミングに多少の経験がある方なら十分活用できる内容だと思います。

それでは見ていきましょう!



そもそもPythonはなぜ便利なのか?

Python以外にもプログラミング言語はいくつもありますが、なぜその中でもPythonが便利だと言えるのでしょうか?その理由について考えてみます。

Pythonが便利・使いやすい理由
  • 使い始めるまでの環境構築がラク
  • 構文がシンプル
  • データを可視化しやすい

使い始めるまでの環境構築がラク

Pythonを始めるファーストステップは、Anacondaをインストールすることです。AnacondaはPythonを使い始めるのに必要なツールやソフトウェアがひとまとめになったプラットフォームです。

特に、Anacondaのパッケージに含まれるJupyter Notebookは、ブラウザ上で手軽にコーディング・実行・可視化ができるスグレモノです。これさえあれば、テキストエディタやコンパイラ、他の統合開発環境は一切不要です。プログラミングを始める際には厄介な環境構築作業がすぐに済んでしまうのはPythonの大きな魅力です。

構文がシンプル

理系学生であれば、教養の講義などでC言語を学んだ方も多いのではないでしょうか?ポインタやら、ポインタのポインタ、メモリの確保…ちょっとした計算や簡単なプログラムを組むのにも手間がかかり、「プログラミングは面倒…嫌い…」という印象をもった方も少なくないのではないかと思います。

Pythonでは、基本的にポインタやらメモリの確保やらを明示的に行うことはありません。比較的、頭に思い浮かんだ手順を直感的にプログラムに落とし込むことができる言語です。

どれくらい簡単なの?と思う方は、ぜひPythonカテゴリの記事をご覧ください。

データを可視化しやすい

さきほど紹介したJupyter Notebookでは、ブラウザ上でのコーディングが可能で、実行すると、その一連のコード直下に実行結果が表示されます。コードを書いていく段階で、エラーが出ないか、想定通りの結果になっているか、ちょこちょこ確認しながら進めていく上で非常に便利です。

また、外部ライブラリであるmatplotlibは、グラフ描画に特化しています。折れ線グラフや散布図はもちろんのこと、3D描画やヒートマップなど、描画できるグラフの種類は膨大です。色や線の太さ、グラフの大きさといった細かい修正も行いやすいです。マウスで操作するGUIよりも数値指定で正確に描画できる点も魅力でしょう。



技術職が実践する会社業務へのPython活用例

具体的にはPythonで何ができる?

私が実践している会社業務へのPython活用例を紹介する前に、Pythonを通して行うことができる業務効率化のイメージをつかむため、次の著名な書籍を取り上げます。

「退屈なことはPythonにやらせよう」という特徴的なタイトルの通り、Pythonの業務活用へのヒントがたくさん記載されています。対象読者は「ノンプログラマー」なので、プログラミングに自身のない方でも十分活用することができる内容です。

この本の内容から具体的な処理をピックアップすると、

  • 電話番号と電子メールアドレスの抽出
  • ファイルの読み書き・管理
  • Webサイトからファイルをダウンロード
  • エクセルシート操作
  • PDF・ワード文書操作・テキスト抽出
  • 時間制御・自動実行
  • 電子メール・SMS送信
  • GUIオートメーション

などが含まれています。業務に関連しそうなワードが並んでいますね。

さて、ここからは実際に私のPython業務活用例を紹介していきます。

膨大なデータの解析

日常的にエクセルを使った簡単なデータ処理を行うことがあると思いますが、Pythonを活用することでさらに生産性を高めることが可能です。

同じような形式のデータに対して、いちいちエクセルを開いてGUI操作によって処理していくのは効率的とは言えません。Pythonであれば、同様のデータに対する同じ処理は一瞬で終わらせることも可能です。プログラミング言語一般に言えることですが、Pythonは「パターン化された業務」・「繰り返し作業」に対して特に強みを発揮します。自分の業務に何かしらピンとくるものがあるのではないでしょうか?

webスクレイピング&データ解析

「スクレイピング」とは、webサイトから欲しいデータを取得して何らかの解析を行うことです。

定期的に更新されるメディアの情報を取得したいとき、自分で毎回アクセスして必要なデータを探すのは面倒ですよね。RSSフィードなどを活用すれば簡単に更新情報の取得はできますが、特定のワードを含む記事のみを抽出したり、データとして保存したいといった場合にはPythonを使って自分好みにコーディングするのがおすすめです。Pythonを使えば、htmlを解析して特定の箇所やワードに該当するデータのみを毎週(あるいは毎日)決まった時間に取得して自分のPCに蓄積していくといったことも可能になります。

一般に公開されているサイトだけでなく、ユーザ名やパスワードを入力して自身のマイページにログインするようなサイトにも対応することができます。いちいちログインしなくても、Pythonが勝手にログインして必要なデータを取ってきてくれます。

ただし、利用規約に「スクレイピング禁止」などの記載がある場合はスクレイピングしないようにしましょう。

webスクレイピング&データ解析の業務活用例
  • ウォッチしているメディアのうち、特定のワードを含む記事の更新情報を定期的に取得
  • web上のデータを定期的に取得して自動で自分のPCに蓄積
  • いちいち手動でログインせずにマイページに入って更新されるデータを取得

関連するライブラリはBeautifulSoupやSeleniumなどが有名です。



メールの送信

上記の例に関連しますが、取得したデータを手元のスマホで確認したり、生データを解析・視覚化した上で定期的に把握したいことがあります。

定期的に、「さて自動取得したデータはどうなったかな」とチェックしても良いのですが、このような作業もできれば自動化したいですよね。

Pythonであれば、プログラムからメール送信することも可能です。取得したデータに関する処理も予め記述しておけば、生データではなく、意味をなす形に整形されたデータの形で自分にメール送信することができ、かなり便利です。

自分だけでなく、もちろん部署全体で共有するといった用途にも活用できます。スクレイピングしたデータに限らず、定期的に送る必要があるリマインダーなどもPythonにやらせてしまいましょう

出退勤記録の自動化

テレワークが広がり、以前まで会社で出退勤記録をつけていた人も、PC上の管理に置き換わってきていることでしょう。

「毎日やらなければいけない定型作業」といえばPythonの出番です。出退勤記録の方法によってやり方は変わりますが、ブラウザ上でポチポチするような形式であれば、スクレイピングの項目でも登場したSeleniumなどを使って自動化することが可能です。

技術職であれば問題なし!気軽にPythonを使ってみよう!

今回は、技術職の私が実践している会社業務へのPython活用を紹介しました。

なんとなくプログラミングへの苦手意識があってPythonを避けていたあなたも、ぜひ一度Pythonを活用した業務効率化に挑戦してみてください。これまでのルーチンワークが馬鹿らしく思えてきて、「もっとPythonを活用したい!」と感じること間違いなしです。人間がやらなくてもよい作業はPythonにやらせて、自分の時間は他の作業に当て、生産性を高めていきましょう

Pythonは非常に人気な言語なので、初心者向けの書籍やサイトも豊富です。今回のテーマに関しては「退屈な〜」がおすすめですが、Pythonの基礎から体系的に学びたい!という方は以下の書籍を参考にすることをおすすめします。

Amazonで☆4.1(2020.10.24現在)と上々のレビューで、出版元も多数のプログラミング関連書籍を刊行しているオライリー社です。Pythonの基本を網羅しており、これを一通り学べばPython初心者は卒業できるでしょう。ただ、少し難しい内容も含まれるので、適宜webを参照しながら勉強するのがおすすめです。