「Excel×Python最速仕事術」を読んでPythonを楽しもう

Excel×Python最速仕事術 」を日経Linux編集部からいただきました。ありがとうございます。ざっとですが、内容を読ませていただきました。openpyxl(openpyxl – A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.2 documentation)という有名なパッケージを使ってExcelファイルを操作する方法がわかりやすく解説されている書籍で、知らなかった機能も多く、参考になりました。各章には説明する内容に関してのストーリーもあって、動機づけもわかりやすくて面白かったです。

目次は「Excel×Python最速仕事術|日経BPブックナビ【公式サイト】」をご覧ください。Amazonとかでもよく売れているみたいで、大人気なのですね。素晴らしいです。

正直なところ、Excelを扱うプログラミング言語はVBAで十分な気もするのですが、VBAは実行するPCでマクロを有効にする必要があるというハードルがあったりして、なんというのか、手軽に配布してデータを入力する人に使ってもらうことがしにくいのですよね。VBAマクロ経由で感染するコンピュータウィルスもあったりするので、マクロ実行は普通は機能が無効になっていることが多いはずです。

そうすると、データが入力しやすく作られたExcelファイルに担当者がデータを入力して集約担当者へ提出して、それから集約担当者がデータを抽出して加工するといった作業をするといったワークフローになりがちです。

Excelは表形式のデータを編集しやすいように豊富な機能がついていますから、単純な構造のデータならシートへ手で入力した方が手っ取り早いのは確かです。仮見積もりをExcelファイルで作成するといったことは、よくある話ではないでしょうか。

ただ、そうやった入力されたデータを集約して再利用するとしたら、プログラミング言語を使ってプログラムを用意したほうが楽にできます。仮見積もりでお客さんが了承してデータが確定したら、それを見積もり用のシステムへ自動で入力したいところです。ここでシステムへの入力が手作業だったりしたら、入力ミスが発生するかもしれません。プログラムで自動化したいところですよね。

データの集約方法の説明だけではなく、Excelファイルの書式設定やPDF化も解説されているので、そういった処理に興味がある人は多いのではないでしょうか。集計結果をダウンロードして印刷できるようにしたいという要望はよくあります。これを実現するにはPDFフォーマットのファイルを生成するのが確実で、そういうときにExcelファイルをレイアウト用データとして利用できると便利ですよね。

VBAで専用プログラムを作ることはもちろんできますが、コマンドラインでバッチ処理として動作させたいような場合は、Pythonを利用するのは良い考えです。PythonはLinuxではよく使われていて、UbuntuやCentOSではデフォルトでインストールされていることも多いです。Windowsでも簡単にインストールできて使えます。

Pythonは最近だと機械学習や人工知能関係のプログラムの分野でも注目されていて、知っておいて損はないプログラミング言語です。すでにVBAを知っている人からするとPythonで書くのは面倒かもしれませんが、Pythonを学ぶことで新しい世界が開けること間違いありません。よくわからないWebアプリのプログラムを書くよりVBAで慣れたExcelファイルの操作プログラムがPythonだとどう書くかを知った方が、理解しやすいでしょう。

ちなみに、すでにPythonを知っている人からするとVBAでExcelファイルを操作するよりPythonを使った方が楽なはずですから、そういう人にも本書は役に立つでしょう。

以上で、簡単ですが紹介をさせていただきました。興味を持ったら読んでみてください。

同じタグの記事: Excel
同じタグの記事: openpyxl
同じタグの記事: Python
同じカテゴリの記事: Book