Python/xlwings

xlwings 오류 해결하기: KeyError: 'Invalid sheet name'

PySun 2024. 11. 21. 21:54
반응형

소개

xlwings 라이브러리를 사용하면서 'KeyError: 'Invalid sheet name'' 오류를 겪는 것은 꽤 흔한 일입니다. 이 오류는 종종 존재하지 않거나 잘못된 시트 이름을 사용하려고 할 때 발생합니다. 본 블로그 글에서는 이 오류의 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'KeyError: 'Invalid sheet name'' 에러가 발생할 수 있는 간단한 예시 코드를 살펴봅시다.

import xlwings as xw

# 엑셀 앱 열기
app = xw.App(visible=True)
workbook = app.books.add()

# 잘못된 시트 이름으로 시트 접근
sheet = workbook.sheets['NonExistentSheet']
print(sheet)

에러 해결 방법

1. 시트 이름 확인하기

시트 이름은 대소문자를 구분하고, 공백이나 특수문자가 포함되어 있을 수 있습니다. 따라서 사용하려는 시트 이름이 정확한지 다시 한번 확인하세요.

import xlwings as xw

# 엑셀 앱 열기
app = xw.App(visible=True)
workbook = app.books.add()

# 시트 이름 확인 후 접근
sheet_names = [sheet.name for sheet in workbook.sheets]
print("현재 워크북의 시트들:", sheet_names)

# 존재하는 시트 이름으로 접근
if 'Sheet1' in sheet_names:
    sheet = workbook.sheets['Sheet1']
    print(sheet)
else:
    print("시트가 존재하지 않습니다.")

2. 시트 생성하기

만약 특정 시트를 찾을 수 없다면, 그 시트를 직접 생성할 수 있습니다. 다음의 코드는 새로운 시트를 추가하는 예시입니다.

import xlwings as xw

# 엑셀 앱 열기
app = xw.App(visible=True)
workbook = app.books.add()

# 새로운 시트 생성
new_sheet = workbook.sheets.add('MyNewSheet')
print("새로운 시트 생성:", new_sheet.name)

마무리

이번 블로그 글에서는 xlwings에서 발생하는 'KeyError: 'Invalid sheet name'' 에러의 원인과 해결 방법을 살펴보았습니다. 정확한 시트 이름을 사용하거나 필요한 경우 시트를 생성함으로써 이 오류를 해결할 수 있습니다. xlwings를 사용할 때는 항상 시트 이름을 주의 깊게 확인하고, 필요에 따라 동적으로 시트를 관리하는 방법을 고려하세요. 좋은 코딩을 기원합니다!

반응형