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