본문 바로가기
Python/xlwings

xlwings AttributeError: 'Workbook' object has no attribute 오류 해결하기

by PySun 2024. 12. 30.
반응형

소개

xlwings를 사용할 때 종종 'AttributeError: 'Workbook' object has no attribute' 오류가 발생하는 경우가 있습니다. 이 에러는 xlwings의 Workbook 객체가 특정 메서드나 속성을 지원하지 않을 때 발생합니다. 이번 글에서는 이 오류의 원인과 해결 방법을 다뤄보겠습니다.

에러 발생 예시 코드

먼저, 'AttributeError: 'Workbook' object has no attribute' 에러를 야기할 수 있는 간단한 예시 코드를 살펴보겠습니다.

import xlwings as xw

# 새로운 Excel 앱 시작
app = xw.App(visible=True)

# 새로운 워크북 생성
workbook = app.books.add()

# 'get_sheet_by_name' 메서드를 사용하여 시트에 접근 시도
sheet = workbook.get_sheet_by_name("Sheet1")
print(sheet)

에러 해결 방법

1. 올바른 메서드 사용하기

xlwings에서는 'get_sheet_by_name'이라는 메서드가 없습니다. 대신, 'sheets' 속성과 인덱스를 사용하여 해당 시트에 접근해야 합니다.

import xlwings as xw

# 새로운 Excel 앱 시작
app = xw.App(visible=True)

# 새로운 워크북 생성
workbook = app.books.add()

# 'sheets' 속성을 사용하여 시트에 접근
sheet = workbook.sheets['Sheet1']
print(sheet)

2. 시트 이름 확인하기

시트의 이름이 정확한지 확인하세요. 엑셀에서 자동 생성된 기본 시트는 종종 'Sheet1', 'Sheet2' 등으로 되어 있으므로, 올바른 이름을 사용해야 합니다.

import xlwings as xw

# 새로운 Excel 앱 시작
app = xw.App(visible=True)

# 새로운 워크북 생성
workbook = app.books.add()

# 워크북에 포함된 시트 목록 확인
for sheet in workbook.sheets:
    print(sheet.name)  # 시트 이름 출력

마무리

이번 블로그 글에서는 xlwings에서 발생하는 'AttributeError: 'Workbook' object has no attribute' 오류에 대해 알아봤습니다. 올바른 메서드인 'sheets' 속성을 활용해 주시고, 시트 이름을 확인하는 것이 중요합니다. 에러를 만나면 좌절하지 마시고 천천히 해결책을 찾아보세요! xlwings와 함께하는 분들의 여정에 행운을 빕니다!

반응형