본문 바로가기
Python/xlwings

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

by PySun 2024. 12. 20.
반응형

소개

xlwings를 사용하면서 'AttributeError: 'Workbook' object has no attribute 'rows'' 에러가 발생하는 경우가 있습니다. 이 오류는 주로 Excel 워크북 객체에 대한 잘못된 접근 방식으로 인해 발생합니다. 본 글에서는 이 에러가 발생하는 원인과 해결 방법에 대해 알려드리겠습니다.

에러 발생 예시 코드

우선, 'AttributeError: 'Workbook' object has no attribute 'rows'' 에러가 발생할 수 있는 간단한 예시 코드를 살펴보겠습니다.

import xlwings as xw

# 앱을 엽니다.
app = xw.App(visible=True)

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

# 'rows' 속성에 잘못 접근
rows = workbook.rows
print(rows)

에러 해결 방법

1. 'sheets' 속성을 통해 접근

xlwings에서 'rows' 속성에 직접 접근하려고 하면 오류가 발생합니다. 대신, 특정 시트의 'rows' 속성을 사용해야 합니다. 아래의 예를 참고하세요.

import xlwings as xw

# 앱을 엽니다.
app = xw.App(visible=True)

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

# 첫 번째 시트를 선택하고 'rows' 속성에 접근
sheet = workbook.sheets[0]
rows = sheet.rows
print(rows)

2. 시트의 이름으로 접근하기

특정 시트에 직접 접근하고 싶다면, 시트의 이름을 사용하여 선택하는 방법도 있습니다. 다음은 그 방법입니다.

import xlwings as xw

# 앱을 엽니다.
app = xw.App(visible=True)

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

# 'Sheet1' 시트에 접근
sheet = workbook.sheets['Sheet1']
rows = sheet.rows
print(rows)

마무리

이번 글에서는 xlwings에서 발생하는 'AttributeError: 'Workbook' object has no attribute 'rows'' 에러의 발생 원인과 해결 방법에 대해 알아보았습니다. 'rows' 속성에 접근할 때는 반드시 시트를 통해 접근해야 하며, 이를 통해 오류를 피할 수 있습니다. xlwings를 활용할 때는 언제나 문서를 참고하고, 올바른 객체와 속성을 사용하는 것이 중요합니다.

반응형