【Python】openpyxlでExcel操作(2)シートの操作
前回、PythonでExcelファイルを操作するopenpyxlの基本的なところについて書きました。今回はシート操作について紹介します。(前回はws = wb.active
という構文で現在のシートを指定していました。)
シート名のリストを取得
以下の構文ですべてのシート名を配列として得ることが出来ます。以下の例ではtest.xlsxというExcelファイル内に3つのシートがあってその名前を配列で得ています。
import openpyxl wb = openpyxl.load_workbook("test.xlsx") print(wb.sheetnames)
実行結果
['Sheet1', 'Sheet2', 'Sheet3']
シート名を指定してセルの値を取得
以下のようにシート名を指定してセルの値を得ることが出来ます。Sheet1というシートのA1セルに「Test」という文字列が入力された時の例です。
import openpyxl wb = openpyxl.load_workbook("test.xlsx") ws = wb["Sheet1"] print(ws) print(ws["A1"].value)
実行結果
['Sheet'] <Worksheet "Sheet"> Test
シート番号を指定してセルの値を取得
シート名ではなく何番目のシートかを指定する方法もあります。
import openpyxl wb = openpyxl.load_workbook("test.xlsx") ws = wb.worksheets[0] print(ws) print(ws["A1"].value) print(ws.title) #シート名
実行結果
['Sheet'] <Worksheet "Sheet"> Test Sheet1
シート名の変更変更
シート名の変更も簡単にできます。
import openpyxl wb = openpyxl.load_workbook("test.xlsx") ws = wb.worksheets[0] print( ws.title ) # シート名の変更 ws.title = "Sheet0" print( ws.title )
実行結果
Sheet1 Sheet0
シートの追加
シートを新規に追加するにはcreate_sheetメソッドを利用します。
import openpyxl wb = openpyxl.load_workbook("test.xlsx") print(wb.sheetnames) #シートを最後に追加する wb.create_sheet(title="Sheet4") print(wb.sheetnames)
実行結果
['Sheet1', 'Sheet2', 'Sheet3'] ['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4']
スポンサーリンク