Python/xlwings

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

PySun 2024. 11. 26. 20:37
반응형

소개

xlwings를 사용할 때 'AttributeError: 'Book' object has no attribute 'add_worksheet' 오류는 자주 발생하는 문제 중 하나입니다. 이 오류는 일반적으로 기본 Excel Workbook 객체에서 'add_worksheet' 메서드를 호출하려 할 때 발생합니다. 이 블로그 글에서는 이러한 오류가 발생하는 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'AttributeError: 'Book' object has no attribute 'add_worksheet'' 에러가 발생할 만한 간단한 예시 코드를 살펴봅시다.

import xlwings as xw

# 새로운 워크북 생성
book = xw.Book()

# 'add_worksheet' 메서드를 호출하려고 시도
new_sheet = book.add_worksheet('새 시트')
print(new_sheet)

에러 해결 방법

1. 시트를 추가하기 위한 올바른 방법 사용하기

xlwings에서는 'add_worksheet' 메서드가 아닌 'sheets.add' 메서드를 사용하여 새로운 시트를 추가해야 합니다. 따라서 다음과 같이 코드를 수정해야 합니다.

import xlwings as xw

# 새로운 워크북 생성
book = xw.Book()

# 'sheets.add' 메서드를 사용하여 새로운 시트 추가하기
new_sheet = book.sheets.add('새 시트')
print(new_sheet)

2. 존재하는 시트에 접근하기

추가적으로 만약 이미 존재하는 시트에 접근하고자 한다면, 'sheets' 속성을 활용하여 해당 시트의 이름으로 접근할 수 있습니다.

import xlwings as xw

# 새로운 워크북 생성
book = xw.Book()

# 이미 있는 시트에 접근
existing_sheet = book.sheets['Sheet1']
print(existing_sheet)

마무리

이 블로그 글에서는 xlwings에서 발생하는 'AttributeError: 'Book' object has no attribute 'add_worksheet'' 에러에 대한 간단한 해결 방법을 살펴보았습니다. 'sheets.add' 메서드를 사용하여 시트를 추가하고, 존재하는 시트에 접근하는 방법을 통해 이러한 오류를 극복할 수 있습니다. 언제나 코드에서 발생하는 오류는 당황스럽지만, 차근차근 원인을 찾고 해결함으로써 많은 것을 배울 수 있습니다.

반응형