Home » Python » pandasの使い方 » pandasでExcelの全シート名を取得する

pandasでExcelの全シート名を取得する

動作検証バージョン:Windows 10 + Python 3.7.3 + pandas 0.24.2

xlwingsやxlrdで、Excelの全シート名を取得するコードをご紹介しました。

pandasでも、Excelの全シート名を取得できます。

[スポンサードリンク]

pandasのsheet_namesで全シート名を取得するサンプル

以下のスクリプトを実行すると、Cドライブtempフォルダーに存在するfoo.xlsxファイルの全シート名がprintされます。


import pandas
bk = pandas.ExcelFile('C:\\temp\\foo.xlsx')
print(bk.sheet_names)

xlrdで、
  bk = xlrd.open_workbook('C:\\temp\\foo.xlsx')
  print(bk.sheet_names())
というコードをご紹介しました。

上述のpandasのコードは、このxlrdのコードと内部的には同じです。
pandasの
  bk = pandas.ExcelFile('C:\\temp\\foo.xlsx')
は、xlrdの
  bk = xlrd.open_workbook('C:\\temp\\foo.xlsx')
を内部で呼び、pandasの
  print(bk.sheet_names)
は、xlrdの
  print(bk.sheet_names())
を内部で呼んでいるだけだからです。

xlrdではsheet_names()ですが、pandasの場合sheet_namesとしなければならない点には、注意が必要だと感じます。

dict.keys()を使って全シート名を取得するサンプル

全シート名を取得するだけならば、上記のコードがおすすめですけれど、以下のようなコードでも全シート名の取得は可能です。


import pandas
dfs = pandas.read_excel('C:\\temp\\foo.xlsx', sheet_name=None)
print(list(dfs.keys()))

pandas.read_excel()の引数sheet_nameにNoneを指定すると、シート名をkey、各ワークシートのデータをvalueとして持つ、dictionaryの形で、全ワークシートのデータを取得できます。
  dfs = pandas.read_excel('C:\\temp\\foo.xlsx', sheet_name=None)

このkeyだけを、dict.keys()メソッドで取得して、list()でリストにしてからprintしています。
  print(list(dfs.keys()))

最終更新日時:2019-07-22 11:06

[スポンサードリンク]

Home » Python » pandasの使い方 » pandasでExcelの全シート名を取得する

TrackBack:0

TrackBack URL

Home » Python » pandasの使い方 » pandasでExcelの全シート名を取得する

「pandasの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.