본문 바로가기
Python/xlwings

xlwings KeyError: 'Worksheet' not found 오류 해결하기

by PySun 2024. 12. 15.
반응형

소개

xlwings를 사용하면서 'KeyError: 'Worksheet' not found' 오류가 발생하는 경우는 정말 자주 있는 일입니다. 이 오류는 주로 특정 워크시트가 존재하지 않거나, 잘못된 이름으로 접근하려 할 때 발생합니다. 오늘은 이 오류의 원인과 그 해결 방법에 대해 알아보도록 하겠습니다.

에러 발생 예시 코드

우선, 'KeyError: 'Worksheet' not found' 에러가 발생할 가능성이 있는 간단한 예시 코드를 살펴봅시다.

import xlwings as xw

# 엑셀 어플리케이션 시작
wb = xw.Book()

# 특정 시트를 찾으려 시도
sheet = wb.sheets['NonExistentSheet']
print(sheet)

에러 해결 방법

1. 시트 이름 확인하기

가장 먼저, 접근하고자 하는 시트 이름이 정확한지 확인해야 합니다. 엑셀 파일 내에서 시트 이름이 실제 존재하는지를 확인하거나, 대소문자 및 공백에 유의해야 합니다.

import xlwings as xw

# 엑셀 어플리케이션 시작
wb = xw.Book()

# 모든 시트의 이름 출력
for sheet in wb.sheets:
    print(sheet.name)

2. 시트가 존재하는지 조건문으로 확인하기

특정 시트를 직접 호출하기 전에 해당 시트가 존재하는지 확인하는 코드를 추가함으로써 문제를 방지할 수 있습니다.

import xlwings as xw

# 엑셀 어플리케이션 시작
wb = xw.Book()

# 원하는 시트 이름
sheet_name = 'NonExistentSheet'

# 시트가 존재하는지 확인
if sheet_name in [sheet.name for sheet in wb.sheets]:
    sheet = wb.sheets[sheet_name]
    print(sheet)
else:
    print(f"'{sheet_name}' 시트가 없습니다.")

마무리

이번 블로그 글에서는 xlwings를 사용할 때 발생하는 'KeyError: 'Worksheet' not found' 오류를 해결하기 위한 방법들을 알아보았습니다. 시트 이름이 정확한지 확인하고, 조건문을 사용하여 시트의 존재 여부를 확인하는 것이 중요합니다. xlwings와 함께하는 엑셀 자동화는 정말 강력하지만, 이러한 세심한 접근이 필요합니다. 코딩에 대한 열정을 잃지 말고, 계속해서 발전해 나가시길 바랍니다!

반응형