【ワークブックを作成する】
1 『Visual Studio Code』をつかう
2 xlwingsをつかいWorkbookを新規作成しファイル保存
3 xlwingsをつかい既存Workbookを読みこみファイル保存
xlwingsをつかいWorkbookを新規作成しファイル保存
今回は、Python-xlwingsでExcelワークブックを新規作成しファイル保存してみます。
先ず、Python新規ファイルとして『Python_Excel2.py』を作成します。
『Visual Studio Code』をつかうでPython_Excel1.pyを作成したのと同じ手順で、
Python_Excel2.pyを作成しました。
それでは、PythonでExcelワークブックを新規作成しファイル保存してみます。
1 xlwingsをインポート
PythonでExcelワークブックを操作するために、xlwingsという外部ライブラリを利用します。
外部ライブラリとは、外部からインストールすれば利用できるライブラリのことです。
ライブラリとは、複数のモジュールをまとめたもののことです。
モジュールとは、Pythonのプログラムファイル、つまり『~.py』ファイルのことです。
ライブラリにはPythonにもともと組み込まれている『標準ライブラリ』と、
Pythonにもともと組み込まれていなくて、新たに外部からインストールして
ストレージ(SSD/HDD)に保存する必要がある『外部ライブラリ』があります。
『標準ライブラリ』だけでは実現できない機能も『外部ライブラリ』を用いれば
簡単に実現できるようになります。
Pythonは他の言語に比べて圧倒的に実用的な『外部ライブラリ』が充実しているため、
非常に便利なプログラミング言語といえます。
Pythonでは、Excelワークブックを操作する機能が
『標準ライブラリ』だけでは実現できないため、
『外部ライブラリ』のxlwingsというライブラリを利用して
Excelワークブックを操作する機能を実現します。
xlwingsはAnacondaのインストールに含まれているため、
Anacondaを使ってPythonをインストールしている場合、
ライブラリの追加インストールは不要です。
『外部ライブラリ』のxlwingsを利用するときは、次のような書式となります。
『import』文を使うと、ストレージ(SSD/HDD)の『xlwings』ライブラリをメモリに読みこむことができます。
print('PythonでExcel操作')の『Print()』は、Pythonプログラムの実行時、
メモリ上に既に準備されている組み込み関数です。
つまり、何もしなくても即時に利用することができる関数です。
だけど、ストレージ(SSD/HDD)の『xlwings』ライブラリのモジュール内の情報は、
Pythonプログラムの実行時、メモリ上に、まだ準備されていません。
つまり、ストレージ(SSD/HDD)からメモリ上に明示的に読みこんでおかないと、
その情報を利用することができません。
モジュール内の情報をストレージ(SSD/HDD)からメモリ上に明示的に読みこませる
役割を果たすのが『import』文です。
ソースコードパネルの1行目に、次のように書きこみます。
import xlwings
これは、xlwingsライブラリからすべての情報をインポートして使えるようにするという意味です。
ソースコードパネルの1行目に、import xlwingsを書きこみました。
2 BookクラスからWorkbookオブジェクトを生成
次に、BookクラスからWorkbookオブジェクトを生成します。
Workbookオブジェクトとはメモリ上に生成されたExcelのWorkbookのことです。
オブジェクトとは、あるデータを保持するためのメモリ上のかたまりのことです。
WorkbookオブジェクトとはWorkbookデータを保持するためのメモリ上のかたまりのことです。
Pythonで、Excelワークブックを新規作成するときは、xlwingsライブラリのBookクラスから、
いったんWorkbookオブジェクトを生成します。
クラスとは、特定のオブジェクトのデータ構造(一定の属性と関数)を定義したものです。
つまりBookクラスとはExcelのWorkbookオブジェクトのデータ構造を定義したものです。
言い換えると、BookクラスとはExcelのWorkbookの設計書を組み込んだ
オブジェクト製造機のようなものです。
Workbookオブジェクトを生成するということは、Bookクラスから、
メモリ上にWorkbookをつくりだすということです。
BookクラスからWorkbookオブジェクトを生成するときは、次のような書式となります。
Workbookオブジェクト名 = xlwings.Book()の書式を実行すれば、
外部ライブラリ『xlwings』のBookクラスから、
メモリ上にWorkbookオブジェクトを生成することができます。
ソースコードパネルの2行目に、次のように書きこみます。
wb = xlwings.Book()
これは、『xlwings』のBookクラスから、
メモリ上に『wb』という名称のWorkbookオブジェクトを生成するという意味です。
ソースコードパネルの2行目に、wb = xlwings.Book()を書きこみました。
3 WorkbookオブジェクトをWorkbookファイルとして保存
先ほど、wb = xlwings.Book()によって、
外部ライブラリ『xlwings』のBookクラスから、
メモリ上にWorkbookオブジェクトを生成するようにしました。
メモリはデータ処理を行う作業領域となる装置であって、データを一時的に記憶するだけです。
ストレージ(SSD/HDD)のようにデータを保存、つまり長期的に記憶することはできないため、
Workbookがまだメモリ上にしか存在していない状態のままWorkbookを閉じたら、
Workbookはストレージ(SSD/HDD)に保存されないまま、メモリ上から消えてしまいます。
せっかく、メモリ上につくりだされたWorkbookオブジェクトを消さずにパソコンに保存するためには、
ストレージ(SSD/HDD)にWorkbookファイルとして保存する必要があります。
WorkbookオブジェクトをWorkbookファイルとして保存するときは、次のような書式となります。
ソースコードパネルの3行目に、次のように書きます。
wb.save('PythonでExcel操作.xlsx')
これは『wb』という名称のWorkbookオブジェクトを、
『PythonでExcel操作.xlsx』という名称のWorkbookファイルとして保存するという意味です。
ソースコードパネルの3行目に、wb.save('PythonでExcel操作.xlsx')を書きこみました。
4 Workbookオブジェクトを閉じる
先ほど、wb.save('PythonでExcel操作.xlsx') によって、
メモリ上につくりだされた『wb』という名称のWorkbookオブジェクトを、
ストレージ(SSD/HDD)に『PythonでExcel操作.xlsx』という名称でWorkbookファイルとして保存しました。
でも、『wb』という名称のWorkbookオブジェクトは、メモリ上に残ったままです。
そこで、メモリ上に残った『wb』という名称のWorkbookオブジェクトを閉じることにします。
Workbookオブジェクトを閉じるときは、次のような書式となります。
ソースコードパネルの4行目に、次のように書きます。
wb.close()
これは『wb』という名称のWorkbookオブジェクトを閉じるという意味です。
ソースコードパネルの4行目に、wb.close()を書きこみました。
5 『PythonでxlwingsをつかいWorkbookを新規作成しファイル保存』の一連の処理
それでは、『Python_Excel2.py』を実行してみます。
右向き三角形ボタンをクリックします。
ソースコードパネルの下にターミナルパネルが現れて
『Python_Excel2.py』が正常に実行されたことが表示されました。
更にエクスプローラーパネルには『PythonでExcel操作.xlsx』という名称の
Workbookファイルが新たに表示されました。
これは、『PythonでExcel操作.xlsx』という名称のWorkbookファイルが
新規作成されたということです。試しに、エクスプローラーを見てみます。
エクスプローラーを見てみると、『Python_Excel2.py』のカレンドフォルダに『PythonでExcel操作.xlsx』
という名称のWorkbookファイルが新規作成されています。
では、『PythonでExcel操作.xlsx』を開いてみます。
『PythonでExcel操作.xlsx』を開きました。
このようにPythonでxlwingsをつかいWorkbookを新規作成したときは、シート名『Sheet1』というシートが
一つだけ作成されています。
PythonでxlwingsをつかいWorkbookを新規作成しファイルに保存するまでの一連のデータ処理は、次のようになります。
PythonでxlwingsをつかいWorkbookを新規作成し『newworkbook』という名前のファイルに保存するロジックは、
次のようになります。
外部ライブラリxlwingsをインポート
Bookクラスから作成したWorkbookオブジェクトを、『wb』に格納
『wb』を『newworkbook』という名前のファイルに保存
『wb』を閉じる
これをPythonで、コーディングすると、
import xlwings
wb = xlwings.Book()
wb.save('newworkbook.xlsx')
wb.close()
となります。
このように、PythonでExcelワークブックを新規作成することができます。
次回『xlwingsをつかい既存Workbookを読みこみファイル保存』では、
xlwingsをつかいPythonでExcelワークブックを読みこみファイル保存してみます。