はじめに
PythonでOpenpyxlを使っている時にエラーメッセージに遭遇しました。
今回はその時に発生したエラーとその原因と対処方法、サンプルソースについてのメモです。
エラーの原因と対処法
エラー
まず発生したエラーですが、
Valueerror {0} is not a valid coordinate or range
というものです。({0}の部分は状況によって異なります)
日本語で訳すと
「ValueError: {0}は有効な座標または範囲ではありません」
となります。
原因とサンプルソース
原因
このエラーは、Openpyxlを使用してExcelのワークシートの特定のセルまたは範囲にアクセスしようとしたとき、指定した座標または範囲が無効である(すなわち、正しくない形式である、または存在しないセルを指定した)場合に発生します。
エラーが発生するソースコード
次はエラーが発生する簡単なソースコードの例です。
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# 無効な行と列を指定してセルを取得
cell = ws.cell(row=0, column=0)
7行目で無効なインデックスを指定しているのでエラーになります。
これを実行すると
ValueError: {0} is not a valid coordinate or range
と表示されます(現在Openpyxlはバージョンよってはメッセージが異なる可能性があるので注意)
修正したソースコード
次が修正したソースコードになります。
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
# 有効な行と列を指定してセルを取得
cell = ws.cell(row=1, column=1)
さいごに
今回はOpenpyxlをによるエラーでした。
ループなどを使うとインデックスでエラーになる可能性があるので注意ですね。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。