読者です 読者をやめる 読者になる 読者になる

Excelではかったるい集計処理をPerlスクリプトでスマートに

会社のPCは、WindowsPC(レッツノート)で、仕事はもっぱらエクセルとパワーポイントが中心。

エクセルは、オラクルのデータベースからエクスポートしたデータを集計処理することが多いけど、エクセル使っているのに手作業になることが結構多く非常にかったるい。

一部、AWKでバッチ集計・整形するスクリプトを書いたが、AWKにも限界があるようなのでPerlで効率を上げるスクリプトを書きたいと思い、現在Perlを勉強中。

 

実際やりたいことのほとんどはバッチ処理だったのでコマンドプンプトからキーボード操作中心のソフトでも良さそうなものだが、作ったツールを同僚に使ってもらうためには、GUI(グラフィカルユーザインターフェイス)が必要と考えた。要するにマウス中心の操作で動くソフトにするってこと。

最初は、欲張って社内LAN上で動くWEBソフトにしようと思い、会社のPCXamppを入れてローカル開発環境までは構築したが、ネットワークを自在に使える権限がなく、どうにもなりそうになかったので、WEBアプリは諦めた。色々ググって調べるとTkというPerl上で動くGUI作成用のモジュールがあることがわかった。とりあえず家のバイオに、strawberry perlを入れcpanからTkモジュールを入れて試してみた。これなら使えそうってことで、会社のPCにもperlTkを入れた。

ツールを作る環境面で、もう一つの問題は、日本語対応である。「そら日本語は、当たり前に使えるだろ」と思いきや、Windows上で日本語を扱うには色々難がある様だ。ググったらいっぱい心配なことが出てきた。文字化けだ。ここは、トコトコん納得できるまで理解しようと、書籍を読み始めた。今のところ一番良さそうな書籍は、深沢 千尋さんの文字コード【超】研究』。まだ読みきっていないが、この3月にYAPC::Kansaiに参加するので、ゲストスピーカーの深沢 千尋さんに直接お話しできる機会があればいいなと期待している。

 

以上の様な動機から、まずは、日本語データを集計処理するツールをPerlで作り、エクセルでは、かったるかった仕事をスマートにこなすのが第一目標。