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' 에러에 대한 해결 방법을 살펴보았습니다. 엑셀 워크시트의 크기를 줄이거나 필요한 데이터만 포함하는 작은 워크시트를 생성함으로써 이 오류를 해결할 수 있습니다.

반응형