Python - openpyxlでWorksheet {0} does not exist エラー

Pythonでopenpyxlを使ってExcelのワークシートを指定する時に、 次のようなエラーが発生する場合があります。

raise KeyError("Worksheet {0} does not exist.".format(key))
KeyError: 'Worksheet sheet1 does not exist.'

このエラーが発生した場合の対処方法を紹介します。

エラーメッセージを読むと「ワークシートが存在しない」 と書いてあります。 ですからシートの指定が間違っている可能性が高いです。

エラーが発生したコードは次のようになっていて、 上記のエラーが発生しました。

# インポート
import openpyxl

# ワークブック
wb = openpyxl.load_workbook("sample.xlsx")

# ワークシート
ws = wb["sheet1"]

良く見るとシートの指定が「sheet1」になっています。 実際にExcelファイルを開いてシート名を確認してみると 「Sheet1」となっていました。 つまり先頭文字の大文字と小文字を間違えているためエラーになっています。 実際に「Sheet1」と先頭を大文字にして実行すると正常に実行されました。

もし「Worksheet {0} does not exist.」のエラーが発生した場合は、 次のようなミスがないか確認してみてください。

  • 存在しないファイル名を指定している
  • スペルミス
  • 大文字小文字の間違い