본문 바로가기
Python/openpyxl

파이썬 openpyxl TypeError: expected <class 'int'>, got <class 'str'>오류 해결하기

by PySun 2024. 4. 16.
반응형

문제 개요

파이썬에서 openpyxl을 사용하다가 'TypeError: expected <class 'int'>, got <class 'str'>' 에러가 발생하면, 이는 정수(int)가 예상되었으나 문자열(str)이 제공된 경우에 대한 오류입니다. 이 글에서는 이러한 TypeError가 발생하는 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'TypeError: expected <class 'int'>, got <class 'str'>' 에러가 발생할 만한 간단한 예시 코드를 살펴봅시다.

from openpyxl import Workbook

# 정수가 예상되지만 문자열이 전달됨
cell_value = 42
cell_value = int(cell_value)

에러 해결 방법

1. 변수 타입 확인

먼저 변수의 타입을 확인하여 정수가 아닌 문자열이라면 해당 변수를 정수로 변환해야 합니다.

from openpyxl import Workbook

# 변수 타입 확인 및 변환
cell_value = "42"
if not isinstance(cell_value, int):
    cell_value = int(cell_value)

2. 데이터 입력 시 정수 사용

openpyxl을 사용하여 엑셀 셀에 데이터를 입력할 때 정수를 사용하여 입력하면 해당 셀은 정수 타입이 됩니다.

from openpyxl import Workbook

# 정수로 데이터 입력
wb = Workbook()
ws = wb.active
ws['A1'] = 42

마무리

이 글에서는 'TypeError: expected <class 'int'>, got <class 'str'>' 에러에 대한 원인과 간단한 해결 방법을 알아보았습니다. 변수의 타입을 확인하고 필요에 따라 정수로 변환하여 사용하거나, 데이터를 입력할 때 직접 정수 값을 사용함으로써 이 문제를 해결할 수 있습니다.

반응형