Python/openpyxl
파이썬 openpyxl ValueError: Worksheet dimensions are too large오류 해결하기
PySun
2024. 3. 28. 08:00
반응형
문제 개요
파이썬에서 openpyxl을 사용하여 엑셀 워크시트의 크기가 너무 크다는 이유로 'ValueError: Worksheet dimensions are too large' 에러가 발생할 때가 있습니다. 이 오류는 엑셀 워크시트의 행(row)이나 열(column)의 개수가 openpyxl이 처리할 수 있는 최대 크기를 초과했을 때 발생합니다. 이 문제를 해결하기 위한 몇 가지 방법과 예시 코드를 통해 안내하겠습니다.
에러 발생 예시 코드
'ValueError: Worksheet dimensions are too large' 에러가 발생할 만한 간단한 예시 코드를 살펴봅시다.
from openpyxl import Workbook
# 엑셀 워크북 생성
workbook = Workbook()
try:
# 엑셀 워크시트의 행과 열 개수가 최대 크기를 초과하는 경우
for row in range(1, 1048577): # 행의 개수가 최대 크기를 초과
for col in range(1, 18278): # 열의 개수가 최대 크기를 초과
workbook.active.cell(row=row, column=col, value=f"Cell {row}-{col}")
except ValueError as e:
print(f"에러 발생: {e}")
에러 해결 방법
1. 엑셀 워크시트의 크기를 줄이기
만약 엑셀 워크시트가 크기 제한을 초과하는 경우, 행이나 열의 개수를 줄여서 최대 크기 이하로 만듭니다. 예를 들어, 필요한 데이터만 포함하는 작은 크기의 워크시트를 생성할 수 있습니다.
from openpyxl import Workbook
# 엑셀 워크북 생성
workbook = Workbook()
# 작은 크기의 엑셀 워크시트 생성
small_sheet = workbook.active
# 데이터 추가
for row in range(1, 10):
for col in range(1, 10):
small_sheet.cell(row=row, column=col, value=f"Cell {row}-{col}")
마무리
'ValueError: Worksheet dimensions are too large' 에러에 대한 해결 방법을 살펴보았습니다. 엑셀 워크시트의 크기를 줄이거나 필요한 데이터만 포함하는 작은 워크시트를 생성함으로써 이 오류를 해결할 수 있습니다.
반응형