「KeyError: ‘Worksheet questions does not exist.’」というエラーが、OpenPyXLライブラリを使用してExcelファイルを操作している際に発生しました。
このエラーは、指定したシート名がExcelワークブック内に存在しない場合に発生するようです。
エラーの原因
1. シート名の誤り
指定したシート名が正確でない場合、例えば、スペルミスや余分な空白が含まれていると、OpenPyXLはそのシートを見つけられず、「KeyError」を発生させます。
2. シートの存在確認
Excelファイルに指定したシートが本当に存在するか確認する必要があります。シート名は大文字と小文字を区別するため、正確に一致させる必要があります。
3. シート名のリストを確認
wb.sheetnames
を使用して、ワークブック内のすべてのシート名をリスト表示し、指定したシート名が存在するか確認することができます。
解決策
以下の手順でエラーを解決する。
1. シート名の確認
Excelファイルを開き、シート名が正確であることを確認します。
2. シート名のリストを表示
Pythonコードで以下のようにして、ワークブック内のシート名を確認します。
# python
from openpyxl import load_workbook
# Excelファイルを読み込む
wb = load_workbook('your_file.xlsx')
# シート名のリストを表示
print(wb.sheetnames)
3. 正しいシート名を使用
確認したシート名を使用して、以下のようにシートを取得します。
# python sheet = wb['正しいシート名']
4. エラーハンドリング
シートが存在しない場合に備えて、エラーハンドリングを追加するのもありです。
# python
sheet_name = 'questions'
if sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
else:
print(f"シート '{sheet_name}' は存在しません。")
