【Python】KeyError: ‘Worksheet questions does not exist.’

この記事は約2分で読めます。

「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}' は存在しません。")

 

タイトルとURLをコピーしました