動作検証バージョン:64bit Windows 10 Pro + Python 3.8.3 + pandas 1.1.0 + xlrd 1.2.0
「pandas シートの枚数」
という検索キーワードでアクセスがありました。
pandasで、Excelシートの枚数を取得するにはどうすればいいのかを探していた方による検索でしょう。
[スポンサードリンク]
ワークシートの枚数を取得するpandasを使ったサンプル
いくつかの書き方がありそうですが、ワークシートの枚数を取得するだけなら、以下のようなコードでしょうか。
import pandas
bk = pandas.ExcelFile(r'C:\temp\sample.xlsx')
print(len(bk.sheet_names))
bk = pandas.ExcelFile(r'C:\temp\sample.xlsx')
print(len(bk.sheet_names))
Cドライブtempフォルダーに、sample.xlsxファイルを用意しておいて、上記のコードを実行すると、ワークシートの枚数が出力されます。
pandasのExcelFile.sheet_names属性は、全ワークシートの名前を、リストとして返してくれます。
リストの要素数(すなわちワークシートの枚数)を、Pythonの組み込み関数lenで取得しています。
xlrdでワークシートの枚数を取得するサンプル
pandasでExcelファイルを操作する場合、基本的にはxlrdを使っています。
上記のコードは、以下のようなxlrdのコードと実質的には同じです。
import xlrd
bk = xlrd.open_workbook(r'C:\temp/sample.xlsx')
print(len(bk.sheet_names()))
bk = xlrd.open_workbook(r'C:\temp/sample.xlsx')
print(len(bk.sheet_names()))
pandasとよく似たコードですが、xlrdのBook.sheet_names()はメソッドですから、特にprint関数で出力する場合には、上記のように末尾に閉じカッコがたくさん並ぶことになり、
print(len(bk.sheet_names()))
pandasから利用するほうが使いやすいと感じます。
[スポンサードリンク]
- Newer:DateCreatedが使えない
- Older:pywin32を使ってExcelにシートを追加する
Home » Python » pandasの使い方 » pandasでExcelのワークシート枚数を取得する