シート名」という検索キーワードをきっかけに、xlwingsで指定したExcelファイルの全シート名を取得するコードをご紹介しました。他のライブラリーを使った場合に、どのようなコードになるのか気になりますので、xlrdでスクリプトを書いてみました。[スポンサードリンク]xlrdで全シート名をprintするサンプルxlrdの場合、以下のようなコードで、Cドライブtempフォルダーのfoo.xlsxブックの、全シートの名前を出力できます。bk.sheets():print(sh.name)出力結果はwlwingsを使った場合と、もちろん同じですが終了までにかかる時間は、xlrdのほうが短く済みます。xlwingsの場合とxlrdの場合の違いコードの見た目は、xlwingsを使った場合と、よく似ていますが、もちろん中身はまったく違います。xlwings今回は当然xlrdです。xlrd.open_workbook('C:\\temp\\foo.xlsx')です。bk.sheets():です。コード的にはよく似ていますが「sheets」の直後にカッコが必須です。xlrdで全シート名のリストを作成するサンプル全シート名を出力するのではなく、リストとして取得したいのなら、以下のコードが参考になるでしょう。bk.sheets():sheet_names.append(sh.name)print(sheet_names)先述のprintするスクリプトよりも、リストにする分、ちょっとコードが増えています。bk.sheets():sheet_names.append(sh.name)リスト内包表記を使えば、以下のようなシンプルなコードで済みます。]print(sheet_names)Book.sheet_names()で全シート名のリストを取得できる本当にただ全シート名を取得したいのなら、xlrdの場合はBook.sheet_names()を使うのが簡単です。xlrd.open_workbook('C:\\temp\\foo.xlsx')print(bk.sheet_names())xlrdのほうが速い実行時のスピードは、今回ご紹介したxlrdのほうが、圧倒的に速くなっています。xlwingsの場合は、Excelを起動しますから仕方ありません。シート名」と検索なさった方が、本当のところ何を求めてらしたのかはわかりませんが、既存のExcelファイルを利用するだけならば、xlwingsよりもxlrdを使うほうが良さそうに感じます。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。