この記事でわかること
- PythonによるExcelファイルの作成・保存の方法がわかる!
- ワークシートの追加の方法がわかる!
- ワークシート名の変更方法がわかる!
- ワークシートの一覧の取得方法がわかる!
- アクティブなシートの取得方法がわかる!
- ワークシートの削除の方法がわかる!
ゆーや
openpyxlというモジュールを使っていくよ!
Workbookモジュールとは
Workbookモジュールは、Excelファイル全体を操作するための基本的なクラスです。
このクラスを使って、新しいExcelファイルを作成したり、既存のファイルを読み込んだりすることができます。
ゆーや
ここから実際に使っていくよ!
新しいExcelファイルを作成する
import openpyxl
# 格納するファイルパス(outputというフォルダを作成しておくこと)
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
workbook.pyにサンプルコードを書いて実行すると、
outputにtest.xlsxが生成されるよ!
Workbook()とsave()を覚えておこう!
新しいシートを追加
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加
wb.create_sheet(title="新しいシート")
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
create_sheet(title=”シート名”)でシートが作れる!
覚えやすくていいね!
シートの名前変更
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加(Worksheetモジュールをwsに格納)
ws = wb.create_sheet(title="新しいシート")
# シート名の変更
ws.title = "新しいシート_更新"
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
作成したワークシート(Worksheetモジュール)のtitleに変更したい名前を設定すればOK!
Worksheetモジュールの取得
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加(Worksheetモジュールをwsに格納)
ws = wb.create_sheet(title="新しいシート")
# ワークシートの一覧を取得
ws_list = wb.worksheets
print(ws_list[0])
print(ws_list[1])
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
もともとあるシート「Sheet」と追加した「新しいシート」がきちんと取得できているね!
こうすれば、1つ目のシートの名前を変更したいときはws_list[0].titleを変更すればいいね!
ワークシート名の取得
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加(Worksheetモジュールをwsに格納)
ws = wb.create_sheet(title="新しいシート")
# ワークシートの一覧を取得
ws_name_list = wb.sheetnames
print(ws_name_list[0])
print(ws_name_list[1])
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
今度はWorksheetモジュールではなく、ワークシート名だけ取得できるね!
必要に応じて、使い分けよう!
アクティブなシートを取得・変更
# アクティブなシートを取得・変更
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加(Worksheetモジュールをwsに格納)
ws = wb.create_sheet(title="新しいシート")
# アクティブなシートを取得
active_sheet = wb.active
print(active_sheet)
# アクティブなシートを変更
wb.active = ws
print(wb.active)
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
Excelを扱うときは、
「今、どのシートがアクティブなのか」を意識しなくてはならない場面がよくあるよ!
(VBAなどやったことある人はこの苦労わかってくれるはず。。)
しっかり押さえておこう!
ワークシートの削除
import openpyxl
# 格納するファイルパス
filepath = "./output/"
# 作成するExcelファイルのファイル名
filename = "test.xlsx"
# ワークブックの作成
wb = openpyxl.Workbook()
# 新しいシートの追加(Worksheetモジュールをwsに格納)
ws = wb.create_sheet(title="新しいシート")
# ワークシートの削除
wb.remove(wb.active)
# ワークブックの保存
wb.save(filepath + filename)
ゆーや
新しいシート以外なくなっている!
removeで削除したいWorkbookモジュールを指定すればいいね!
コメント