본문 바로가기
Python/openpyxl

파이썬 openpyxl ValueError: Invalid row or column index오류 해결하기

by PySun 2024. 4. 22.
반응형

문제 개요

파이썬에서 openpyxl을 사용하여 엑셀 파일을 다루다가 'ValueError: Invalid row or column index' 에러가 발생하는 경우가 있습니다. 이 오류는 잘못된 행 또는 열 인덱스가 사용된 경우에 발생합니다. 이 문제를 해결하기 위한 몇 가지 해결책을 살펴보고, 예시 코드를 통해 안내하겠습니다.

에러 발생 예시 코드

'ValueError: Invalid row or column index' 에러가 발생할 만한 간단한 예시 코드를 살펴봅시다.

from openpyxl import Workbook

# 유효하지 않은 행 및 열 인덱스 사용
invalid_row_index = 0
invalid_col_index = -1

# 엑셀 워크북 생성 및 유효하지 않은 인덱스로 셀에 할당
workbook = Workbook()
sheet = workbook.active
cell = sheet.cell(row=invalid_row_index, column=invalid_col_index, value="Invalid Index")

에러 해결 방법

1. 올바른 행 및 열 인덱스 사용

엑셀의 행 및 열 인덱스는 1부터 시작합니다. 0 또는 음수를 사용하는 대신 1 이상의 정수를 사용하세요.

from openpyxl import Workbook

# 올바른 행 및 열 인덱스 사용
valid_row_index = 1
valid_col_index = 1

# 엑셀 워크북 생성 및 올바른 인덱스로 셀에 할당
workbook = Workbook()
sheet = workbook.active
cell = sheet.cell(row=valid_row_index, column=valid_col_index, value="Valid Index")

2. 인덱스 검증 후 사용

사용하기 전에 행 및 열 인덱스가 유효한지 검사하고, 유효하지 않은 경우 처리하세요.

from openpyxl import Workbook

# 유효하지 않은 행 및 열 인덱스 사용
invalid_row_index = 0
invalid_col_index = -1

# 엑셀 워크북 생성
workbook = Workbook()
sheet = workbook.active

# 인덱스가 유효한지 검사 후 셀에 할당
if 1 <= invalid_row_index <= sheet.max_row and 1 <= invalid_col_index <= sheet.max_column:
    cell = sheet.cell(row=invalid_row_index, column=invalid_col_index, value="Valid Index")
else:
    print("유효하지 않은 인덱스 사용")

마무리

'ValueError: Invalid row or column index' 에러에 대한 원인과 해결 방법을 살펴보았습니다. 올바른 행과 열 인덱스를 사용하거나, 사용하기 전에 유효성을 검사하여 문제를 해결할 수 있습니다.

반응형