본문 바로가기

코딩/파이썬과 엑셀

[Python] openpyxl로 엑셀 파일 처리 005. Workbook의 시트 객체 리스트를 얻는 두 가지 방법

▶ Workbook의 시트 객체 리스트를 얻는 두 가지 방법

python : openpyxl : worksheet 객체 리스트

 

Workbook 내에 정의되어 있는 시트(worksheet) 객체에 대한 리스트를 얻는 방법에 대하여 설명한다.

Workbook.worksheets 속성

Workbook 클래스의 속성 worksheets는 Workbook 내에 정의되어 있는 Worksheet 객체 정보에 대한 리스트이다.

 

따라서 속성 worksheets의 타입을 확인하면 list가 출력된다.

 

# python 3.9.5
# openpyxl 3.0.7

from openpyxl import load_workbook

workbook = load_workbook('sample.xlsx')

print(type(workbook.worksheets))

print('Workbook.worksheets')
for ws in workbook.worksheets:
    print(type(ws), ws.title)

workbook.close()

 

Workbook 속성 worksheets의 타입

 

위의 코드에서 처럼 Workbook의 속성 worksheets와 반복문을 통해 Workbook 내에 정의되어 있는 모든 시트에 대한 접근이 가능해 진다.

Workbook 객체 자체를 사용

아래의 코드에서 처럼 반복문에서 Workbook 객체 자체를 사용하면 Worksheet 객체의 리스트가 반환되는 효과를 얻을 수 있다.

 

# python 3.9.5
# openpyxl 3.0.7

from openpyxl import load_workbook

workbook = load_workbook('sample.xlsx')

print('** Workbook **')
for ws in workbook:
    print(type(ws), ws.title)

workbook.close()

 

위 코드 실행 결과는 아래와 같으며, 이는 Workbook의 속성 worksheets를 사용했을 때와 동일하다.

 

for 문에서 Workbook 객체 사용

참고

2021.06.06 - [학습 노트/Python - 별도 라이브러리] - [Python] openpyxl로 엑셀 파일 처리 004. load_workbook 함수로 엑셀 파일 불러오기