ワークブックの作成・編集
Python はデータ処理や自動化のための強力なツールとして知られていますが、その領域はオフィス系ソフトウェアにも広がっています。例えば、ExcelやWordなどのMicrosoft Office製品を Python で操作することが出来ます。
今回はExcelを使用し、新規ワークシートを作成して編集してみましょう。
Python でCSVファイルの作成・編集を行う方法はこちら
他の Python の記事⼀覧は こちら
必要なライブラリのインストール
Python のパッケージ管理システムであるpipを使用して、今回使用するライブラリをインストールしましょう。(既に環境が構築出来ていればインストール不要です。)
下記のコマンドをターミナルで実行し、今回必要な環境を構築してください。
pip install openpyxl
上記のインストールが終わりましたら、Excelのワークシートを作ってみましょう。
(openpyxl : Python でExcelファイル(.xlsx形式)を操作するためのライブラリです。このライブラリを使用すると、Excelファイルの作成、読み込み、変更、保存などの操作が可能になります。)
新規ワークブックの作成・編集・保存
openpyxlモジュールを用いて新規Excelファイルを作成し、セルに文字を書き込んで保存してみましょう。下記のcreate_excel.pyを作成し、実行してみてください。
import openpyxl
workbook= openpyxl.Workbook() # 新しいワークブックを作成
worksheet = workbook["Sheet"] #ワークシート名「Sheet」の、ワークシートを取得する
worksheet["A1"] = "Hello," # SheetのA1セルに文字列を書き込む
worksheet["B1"] = "Python!" # SheetのB1セルに文字列を書き込む
workbook.save("create_excel.xlsx") # ワークブックを保存
print("***Create Success!***")
実行してみるとターミナルに「***Create Success!***」と表示され、create_excel.pyが存在する作業フォルダに「Hello,Python!」と記載されたcreate_excel.xlsxが作成されます。
上記のようなファイルが出来ていればOKです。
では、create_excel.pyの中身について見ていきましょう。
ワークブックの作成
import openpyxl
workbook= openpyxl.Workbook() # 新しいワークブックを作成
「import openpyxl」でopenpyxlモジュールをインポートし、Excelファイルを扱えるように準備します。これはExcelファイルを操作するためのライブラリです。
「openpyxl.Workbook()」はopenpyxlライブラリを使用して新しいExcelワークブックを作成するためのメソッドです。このタイミングで新規ワークブックを作成しています。
Workbook()メソッドはワークブックのオブジェクトを作成して返すので、作成したワークブックを変数workbookに代入することで書き込みや保存を行えるようにしています。
ワークシートの選択
worksheet = workbook["Sheet"] #ワークシート名「Sheet」の、ワークシートを取得する
変数workbookにはどのワークブックを対象とするかが代入されましたが、その中でどのワークシートを操作対象にするかはまだ指示していません。workbook内の、どのワークシートを操作対象とするかを変数worksheetに代入して指示します。
ワークシートの取得にはいくつか方法がありますが、今回はワークシートのタイトルを指定して取得します。取得方法は「ワークブックオブジェクト[“ワークシート名”]」で対象のワークブック内に存在するワークシートを取得することが出来ます。
今回は「worksheet = workbook[“Sheet”]」と指示していますので、変数workbook内の「Sheet」シートを取得して変数worksheet に代入しています。
(※ Workbook()メソッドで新規作成されたワークブックには、デフォルトで「Sheet」シートが作成されています。今回はこの「Sheet」シートを利用するので、ワードシートの新規作成は不要です。)
ワークシートの編集
worksheet["A1"] = "Hello," # SheetのA1セルに文字列を書き込む
worksheet["B1"] = "Python!" # SheetのB1セルに文字列を書き込む
どのワークシートを操作対象とするか指示出来るようになったら、いよいよ内容を編集しましょう。変数worksheet には先ほど取得した「Sheet」シートが代入されていますので、このワークシートを対象としてセルに文字列を書き込みます。
「ワークシート[“セル”] = “内容”」で指定のセルに内容を書き込むことが出来ます。
今回はA1,B1の2つのセルに文字列を書き込んでみます。
・worksheet[“A1”] = “Hello,” (「Sheet」のA1セルに「Hello,」を書き込み)
・worksheet[“B1”] = “Python!” (「Sheet」のB1セルに「Python!」を書き込み)
ワークブックの保存
workbook.save("create_excel.xlsx") # ワークブックを保存
print("***Create Success!***")
編集が終わったら、忘れずに保存を行いましょう。
saveメソッドを使用することで、ワークブックを指定したファイル名で保存できます。
今回はcreate_excel.xlsxと命名してワークブックを保存しました。
上記の一連の流れが問題なく実行出来た事を確認するため、ターミナルにprint文で「***Create Success!***」と表示しています。
いかがでしたでしょうか。 Python でExcelが操作できると、データ整理や書類作成等に役立ちます。次回は新しいシートの追加・削除、セルのデータの読み取りなどについて扱います。
コメント