Valueerror {0} is not a valid coordinate or range

Excel
本ページはプロモーションが含まれています

はじめに

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をによるエラーでした。
ループなどを使うとインデックスでエラーになる可能性があるので注意ですね。

この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。

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