投稿元:
レビューを見る
[墨田区図書館]
Pythonを検索していて見つけた本。
現状では結局Pythonをエクセル整備?に使うあてはなくなってしまったが、この本は実際の作業となる3章までにPythonとVBAの特徴の説明、Pythonを実際に扱うにあたっての開発環境(VS Codeとライブラリの準備など)についての説明が分かりやすくて良かった。表題通り、Excelに関わる自動化処理をPythonで考えようと思ったら一読してみる価値はアリ。
ただ、事務作業に関わる?2章~5章の中でも実際の現場で使えそうな処理は少なかった(現場ではもっと統一化されていないランダム作業が多そう&統一書式を扱う会社ではこういう煩雑作業がそもそもなさそう&あったとしても類似ファイルが"セル位置"レベルで揃っていないと使えないので定型化しづらそう)のと、恐らくスクレイピングなどに関わる6章&7章が時流にのった内容だったかと思うが、そちらは表題通りの一例が提示されただけだったので、既に始めていて"いくつかの具体的な実際例"でTips的なノウハウを得たいと思う人には物足りないかも。
■VBAより良い点
・複数ファイルを操作しやすい。(ファイルやフォルダーを扱うのに便利な関数やライブラリが、豊富に用意されている。)
・プログラムが別ファイルになる。(VBAのプログラムはExcelファイル内でインポート/エクスポートは出来るが面倒)
・豊富なライブラリ(文字変換やデータ集計など)との連携で業務の自動化がしやすい。
・Excelに限らず様々な分野に活かせる。
■Pythonのデメリット
openpyxlライブラリを利用する場合、下記の操作は行えない。
・Excelの起動中に行う操作(ウィンドウサイズやウィンドウの分割などの見た目に関わる操作や、セルの選択などのカーソル移動)
・図形の編集や保存
■VS Codeのインストール
・VS Code公式サイト(https:/code.visualstudio.com)からVS Codeをインストール
・「Extensions」から、「Japanese Language Pack/Microsoft」と、「Python/Microsoft」の拡張機能をインストール
■プログラムチェックツールの準備
Pythonのコーディングスタイル(PEP8)に準拠するため、VS Codeには既にチェックツール(Pylint)が初期設定されているが、更にPython側でも、プログラムのエラーを検出するライブラリ(flake8)と、PEP8に準拠したプログラムに自動整形するライブラリ(autopep8)をインストールしておく。(p.23)
>pip install flake8
>pip install autopep8
その後、VS Codeで使えるように、「設定」でいくつかのチェックを入れておく。(p.25)
・python.linting.Enabled
※Enabled/Flake8 Enabled/Pylint Enabledの3つにチェック
・python.linting.lintOnSave
・python.formatting.provider
・editor.formatOnSave
■主な3rdパーティー製パッケージ(@Pypl)
openpyxl, pandas, Pillow, python-docx, javonv, Beautiful Soup 4, Selenium, NumPy, scikit-learn, Matplotlib, Django
■使えそう??
・2章010:複数ブックのセルを取得して一覧にする(部分的なデータの検出統合ってことだよな?)
・2章019:3行おきに空白行を挿入する(行挿入でなくても、単純な繰り返し処理ってことだよな?)
・3章に関しては表の見た目を整える機能だったので実作業では不要そう。よほどでない限り見ながら体裁は整えるし、カチっと値が決まっているのであれば最初からそれで作っているか大幅な統一化は大企業などでの一斉整備でないとなさそう。
・4章はデータのグラフ(可視)化だったので、CSVファイルなどのデータファイルを元にする作業なら重宝するが、エクセルに入力済みのデータを利用する場合は不要そう。
・5章024:ブックの作成者を一括で変更する
・5章044:決まった組み合わせの書式を適用する(近年エクセルで用意されている"テーマ"同様の機能のはず。"表"などの体裁を整えるのには有効かも)
・5章045:対象のシートにジャンプする「目次」シートを作成する
・5章046:大量の画像を1つのブックにまとめる
・5章049:ブックのパスをまとめて引継ぎ資料を作成する
・6章053:全角・半角の表記ゆれをなくす