openpyxl 주요 메서드 알아보기
Workbook 객체는 Excel 파일 전체를 의미합니다.
주로 load_workbook
함수로 Excel 파일을 불러온 후, 변수 wb
(Workbook의 약자)에 저장합니다.
Sheet 객체는 Excel 파일 내의 각 시트를 의미합니다.
주로 변수 ws
(Worksheet의 약자)에 워크북의 특정 시트를 저장하고, 이를 통해 시트의 데이터를 다룹니다.
이번 수업에서는 openpyxl의 주요 메서드를 알아보겠습니다.
1. active 메서드
active
메서드는 wb.active
와 같이 워크북 객체에서 현재 활성화된 시트를 가져옵니다.
Excel 파일을 열면 가장 먼저 보이는 시트가 활성화된 시트입니다.
active 메서드 사용 예시
from openpyxl import load_workbook
# Excel 파일 불러오기
wb = load_workbook('input_file.xlsx')
# 현재 활성화된 시트 가져오기
ws = wb.active
print(ws.title) # 활성화된 시트의 이름 출력
이 메서드를 사용하면 현재 활성화된 시트에 바로 접근할 수 있어 편리합니다.
참고로 title
속성을 사용하면 시트의 이름을 지정하거나 변경할 수 있습니다.
title 속성 사용 예시
# 시트 이름 변경
ws.title = "MySheet"
print(ws.title) # 변경된 시트의 이름 출력
2. create_sheet 메서드
create_sheet
메서드는 새로운 시트를 생성합니다.
기본적으로는 끝에 시트를 추가하지만, 특정 위치에 추가할 수도 있습니다.
create_sheet 메서드 사용 예시
# 맨 끝에 시트 추가
new_sheet = wb.create_sheet("NewSheet")
# 첫 번째 위치에 시트 추가
first_sheet = wb.create_sheet("FirstSheet", 0)
wb.save('output_file.xlsx')
이 메서드를 사용하면 원하는 위치에 새로운 시트를 쉽게 추가할 수 있습니다.
3. rows 메서드
rows
메서드는 시트의 모든 행을 가져옵니다. 이를 통해 시트의 데이터를 행 단위로 쉽게 처리할 수 있습니다.
rows 메서드 사용 예시
# 시트의 모든 행을 순회하며 값 출력
for row in ws.rows:
for cell in row:
print(cell.value)