🔢
openpyxl でKeyError: 'Worksheet {cell} does not exist. が出たので、解決してきた
1分で読めます
背景
PythonでExcel操作をしたい。openpyxlライブラリでエクセルファイルを読み込んで、セル名を指定したのに、KeyError: 'Worksheet {cell} does not exist.
というエラーが出る。
以下、実行スクリプトです。
import openpyxl
from openpyxl.workbook.workbook import Workbook
def load_workbook(path: str) -> Workbook:
return openpyxl.load_workbook(path)
wb = load_workbook("パスを指定する")
print(wb["A1"])
print(wb)を実行すると、Workbookオブジェクトは生成されているので、セルの取得でエラーになっていそうです。
<openpyxl.workbook.workbook.Workbook object at 0x103b95690>
解決策
return wb.active
で、アクティブなワークブックを取得する必要があったようです。
openpyxlの公式ドキュメントにも、同じような記載がありました。
以下、修正スクリプトです。
import openpyxl
from openpyxl.workbook.workbook import Workbook
def load_workbook(path: str) -> Workbook:
wb = openpyxl.load_workbook(path)
return wb.active
wb = load_workbook("パスを指定する")
print(wb["A1"])
あと書き
今回、エラーが起こった背景として、同じようにWordファイルをPythonで操作する際はpython-docxというライブラリを使いますが、、python-docx二はwb.active
のようなスクリプトは必要なかったために、少し迷った次第です。
めちゃめちゃ難易度の低いエラーですが、もし同じようなエラーになった方がいればぜひご参考にしていただけますと幸いです。
最後に宣伝です。
Xも動かしておりますので、ぜひフォローください!
Discussion