web-dev-qa-db-ja.com

openpyxlは名前でシートを取得します

Excelファイルにデータを書き込んでいますが、どのシートに書き込むかを制御できるようにコードを調整する方法がわかりません。

_wb = load_workbook(filename)
active_ws = wb.active
_

_wb.active_の代わりに、どのようにSheets('Data')のように言うことができますか(これはVBA構文がどのように見えるかです...)?

17
horace_vr

wb[sheetname]を使用する必要があります

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
ws4 = wb2["New Title"]

PS:シート名wb.sheetnamesのシートを確認する必要があります

print(wb2.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
40
import openpyxl

n = 0
wb = openpyxl.load_workbook('D:\Excel.xlsx')
sheets = wb.sheetnames
ws = wb[sheets[n]]

参照: Excelでシートを切り替える方法openpyxl pythonを変更して変更する

2