エクセルからの方針転換

記事
IT・テクノロジー
事務仕事において、エクセル上に展開されている35000件程度の顧客データからいくつかの条件を適用した結果の名簿を数種類作る必要がありました。

エクセル上に展開されている情報ですので、フィルター機能を使えば出来そうなものですが、別で除外リスト一覧なるエクセルをぶつけてそのなかから間引くようなことも必要でした。

そのために、エクセル標準機能のフィルターだけを用いるのではなく、最初からプログラミングを組み合わせて取り組めばさほど難しい問題ではないと認識していました。

ところが、その認識は極めて甘かったことがわかりました。

35000件程度ですので、大した数ではなさそうに思えたのですが、標準のフィルター機能を用いると極めてエクセルが重くなり、それだけではなく、繰り返しPCが落ちる事態を招いてしまいました。※メインメモリは16GB、Office2019という環境です。

そこで、python × openpyxlで取り組むも、同様に極めて動きが鈍く、80分以上時間をかけてもまだ処理が終わらないような状況に陥りました。

もしかすると、xmlをxmlのまま何とかしようと思ったのが間違っていたのかもしれません。

そこで代案としてpandasを用いたところ、結果的にpandasでなんとかなったと言いますか、余裕で期待の結果が得られたわけなのですが、いやはや、とても良い経験をさせてもらったと感じています。

前任者に話を聞くと、そのような状況に陥ることを織り込み済みで小分けにしながらコツコツと必要な名簿を作っていったそうで、この作業には多くの時間を要したそうです。

最終的に私はpandasを使い、ダブルクリックして実行すれば、必要な種類の名簿(全4種類)が2分程度で完成するツールを仕上げましたので、次回以降の作業は極めて楽になります。

ところで、私にとってさほど詳しくないpandasをインターネットで調べながら今回は用いたわけですが、データ分析の前準備としてpandasは必須であるような紹介のなされ方がされておりました。

今のところデータ分析とは無縁ですが、これを機会にいろいろと積極的に使っていこうと思っております。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す