본문 바로가기
Python/openpyxl

파이썬 openpyxl ValueError: Sheet title must be unicode오류 해결하기

by PySun 2024. 5. 20.
반응형

문제 개요

파이썬에서 openpyxl을 사용하여 새로운 시트를 생성하거나 기존 시트의 이름을 변경할 때 'ValueError: Sheet title must be unicode' 에러가 발생하는 경우가 있습니다. 이 오류는 시트의 이름이 유니코드가 아닌 경우에 발생하며, openpyxl에서는 시트의 이름을 유니코드로 지정해야 합니다. 이 문제를 해결하기 위한 몇 가지 해결책을 살펴보고, 예시 코드를 통해 안내하겠습니다.

에러 발생 예시 코드

'ValueError: Sheet title must be unicode' 에러가 발생할 만한 간단한 예시 코드를 살펴봅시다.

from openpyxl import Workbook

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

try:
    # 새로운 시트 생성 (제목을 문자열로 지정하는 경우)
    new_sheet = workbook.create_sheet(title="NewSheet")
except ValueError as e:
    print(f"에러 발생: {e}")

에러 해결 방법

1. 시트 제목을 유니코드로 지정
시트를 생성하거나 이름을 변경할 때, 반드시 유니코드로 제목을 지정해야 합니다. 아래는 시트를 생성하고 제목을 유니코드로 지정하는 예시 코드입니다.

from openpyxl import Workbook

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

# 새로운 시트 생성 및 제목을 유니코드로 지정
new_sheet = workbook.create_sheet(title=u"새로운시트")

마무리

'ValueError: Sheet title must be unicode' 에러에 대한 해결 방법을 살펴보았습니다. 시트의 이름을 유니코드로 지정하여 사용하면 이 오류를 피할 수 있습니다.

반응형