openpyxlでLibreOffice Calcのファイルを作る
LibreOffice CalcでPythonのOpenPyXLで作業を自動化
LibreOffice CalcはVBAを利用して作業を自動化できます。Excelと同じ表計算ソフトであるLibreOffice Calcでは、最近ではPythonのOpenPyXLを用いて作業を事業化する傾向が増えています。一部の人はVBAが時代遅れであるため、Pythonを推奨する傾向があります。私自身もVBAで充分ではないかと考えることがありますが、実際にPythonで自動化を試したことがありませんでした。
未経験ながらも、PythonよりもVBAを主張するのは不自然だと感じ、LibreOffice CalcでOpenPyXLを活用してみることを決意しました。このブログのカテゴリでは、LibreOffice CalcでOpenPyXLを使用して何ができるのかを詳しく紹介していきます。
LibreOffice CalcでOpenPyXLを使用する際の準備
LibreOffice CalcでOpenPyXLを活用するためには、まずPythonをパソコンにインストールする必要があります。以下は、Windows、Mac、およびLinux環境へのPythonのインストール手順を紹介します。
Pythonのインストール方法
WindowsにPythonをインストール
Windows環境にPythonをインストールするには、Pythonプログラミング VTuber サプー様の分かりやすい動画がありますので参考にしてください。
MacにPythonをインストール
Mac環境にPythonをインストールするには、Pythonプログラミング VTuber サプー様の分かりやすい動画がありますので参考にしてください。
LinuxsにPythonをインストール
Linux環境にPythonをインストールするには、以下のテック部様のブログ記事を参考に行ってください。
OpenPyXLのインストール
OpenPyXLをインストールする手順は簡単です。Windowsの場合はコマンドプロンプト、MacやLinuxの場合はターミナルや端末を開いて、以下のコマンドを入力してください。
pip install openpyxl
もしOpenPyXLが正しくインストールできない場合、それはpipライブラリが十分にインストールされていない可能性があります。pipはPythonのパッケージ管理を担うライブラリであり、正しく動作することが必要です。
次に、以下のコマンドを実行してpipライブラリを最新バージョンにアップデートし、その後に再度OpenPyXLをインストールしてみてください。
以下のコードを実行したのちに、openpyxlを再インストールを実行してみてください。
python -m pip install --upgrade pip
python -m pip install openpyxl
こうすることで、pipライブラリが最新の状態に更新され、OpenPyXLの再インストールが出来ます。
VS Codeのインストール
VSCodeはMicrosoftが無料で提供している言語のいろんなプログラミングのコードを書くために用いられるコードエディターでPythonのコードを書くことが出来ます。
Windows,Mac,Linuxにインストール出来ます。
VSCodeをインストールするには、Pythonプログラミング VTuber サプー様の分かりやすい動画があり、Pythonのコードを書くための拡張機能のインストール方法も解説されているので、参考にしてください。
今回のブログ記事では、openpyxlでLibreOffice Calcのファイルを読み込む方法を解説します。
ファイルですが、任意の場所にしてください。
ファイル名は、お好きなファイル名にしてください(私はcode.pyにしました)。
※この記事ではLinux(Xbunstu)で行いましたが、Windows、Macでも同じ作業でopenpyxlでLibreOffice Calcのファイルを作ることが出来ます。
openpyxlでLibreOffice Calcのファイルを読み込む方法
1.既存のopnepyxlでLibreOffice Calcのブックを読み込む準備のコードを入力する
既存のopnepyxlでLibreOffice Calcのブックを読み込む準備のコードを入力します。
既存の既存のLibreOffice Calcのファイルを読み込む準備には、load_workbook関数を使用します。
load_workbook関数のコードは、以下のように書きます。
from openpyxl import load_workbook
2.LibreOffice Calcのブックを読み込む
実際にブックを読み込みます。
ブックを読み込むには、load_workbook関数を使用します。
この関数をブックの変数であるwbという変数に代入します。
wb = の後にload_workbook()と入力し、()の中に’ブック名’を入力します。
今回は前回作成したsample.xlsxを読み込むので、’sample.xlsx’と入力します。
コードは以下の通りです。
wb = load_workbook('sample.xlsx')
3.シートを選択する
読み込んだブックのどのシートを使用するか選択します。
選択するには、Workbook.active属性を使用します。
Workbook.active属性は、wb.activeと入力してください。
この属性をシートの変数であるwsに代入します。
コードは以下の通りです。
ws = wb.active
4.読み込んだブックのセルに文字を入力する
今回はブックが読み込めたかを確認するために、セルのB1に文字を入力してみます。
セルに文字を入力する際には、wsの後に[]をつけ、その中にセルの位置を入力します。
そして=をつけ、’’をつけ、その中に、文字を入力します。
今回はA1にtestと入力してみます。
以下のコードを書きます。
ws['B1'] = 'test'
5.ブックを保存する
後にブックを保存します。
openpyxlでは、ブックを保存する際には、Workbook.saveメソッドを呼び出します。
Workbook.saveメソッドはwb.save(‘ファイル名’)と入力します。
今回はsampleというファイル名にしたいので、以下のようなコードを書きます。
wb.save('sample.xlsx')
ここで注意してほしいのが、拡張子です。
Calcでは、通常拡張子は.odsですが、この拡張子はopenpyxlだと使用出来ません。
Excelの拡張子である.xlsxを使用してください。
以下は今まで書いたコードをまとめたものです。
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx')
ws = wb.active
ws['B1'] = 'test'
wb.save('sample.xlsx')
入力が終わったら、VSCodeの実行ボタンを押してください。
作成されたファイルを開いてみます。
するとシートのB1セルにtestという文字を入力されています。
これで、無事にopenpyxlで既存のLibreOffice Calcのブックを読み込めたことが分かると思います。