〇やってみたこと
エクセルの自動化といえば、VBAですが、今回は、Pythonでエクセルファイルに数字を入力してみました。
VBAなら
こんな感じでしょうか。
新しいワークシートを作成して、
最初のセルに “123123” と入力
エクセルファイルを保存する。
こんな操作をPythonで行ってみます。
〇Pythonでやってみる
最初にPythonのエディターはIDLEを使いました。
エディターは僕はスパイダーが使いやすいと思います。しかし、ここはあえて、よりスタンダードと思われるIDLE を使いました。
IDLEを起動させて、名前をつけて保存します。
Python形式でファイルが保存されるので、右クリックをおして、IDLEのエディターを開きます。
Pythonでエクセルを操作するには、openpyxlライブラリをインポートさせて使います。
IDLEに以下のコードを入力します。
コードを入力したら、上の “RUN” ボタンお押して、モジュールを動かします。
Pythonのファイルがあるデスクトップ上にエクセルファイル “12345.xlsx” が作られました。
〇コードの解説
Pythonでエクセルを操作するには、“openpyxl” を使います。
openpyxlはエクセルファイルを操作するPythonライブラリです。
この openpyxl を使うことで、エクセルのさまざまな操作を行うことができます。
しかし、このopenpyxl、操作できるエクセルファイルは、拡張子が “.xlsx” のみとなります。
・ライブラリを読み込む
import openpyxl as excel
・新規ワークブックを作る
book = excel.Workbook()
・ワークシートを取得
sheet = book.active
・セルA1に“123123”と入力
sheet["A1"] = "123123"
・ファイルの保存
book.save("12345.xlsx")
となります。
エクセルに123123 と入力する意味は特にないのですが、Pythonにはいろいろな関数もはいっているので、それらで集計させた結果をエクセルに出力するなどの使い方ができます。
僕は、仕事では、
Pythonプログラムを起動させると、製品情報、日付などを聞いてきて、その情報をQRコード化し、そのQRコードをエクセルファイルに出力する
といったプログラムを作成して使用してます。
PythonはVBAと比較すると、すこし、まどろっこしく感じる面もありますが、QRコードを作るライブラリなど、VBAにないものもたくさんあるので、甲乙はつけがたいです。
〇まとめ
このopenpyxl・・・エクセルがインストールされていないパソコンでも動きます。
ここがPythonのすごいところ。
VBAはWindows上でエクセルがインストールされている環境では確かに、無敵に近い能力があります。
ほとんどがVBAでできてしまいます。
こう見るとVBAの方が使いやすいじゃないかと思いますが、
しかし、エクセルがインストールされていなかったり、OSがWindowsじゃなかったりすると動かすことができません。
その点、PythonはOSに依存せず動かすことができます。
僕は、iPhoneでもエクセルを使うことがあるので、その時はPythonで自動化させています。
パワーオートメイト、や VBA、Pythonといろいろなツールがあって、どれが上、下という事ではないので、いろいろ使ってみると面白いですね。
0 件のコメント:
コメントを投稿