본문으로 건너뛰기
실습하기

openpyxl 주요 메서드 알아보기

Workbook 객체는 엑셀 파일 전체를 의미합니다.

주로 load_workbook 함수로 엑셀 파일을 불러온 후, 변수 wb(Workbook의 약자)에 불러온 워크북을 저장합니다.

Sheet 객체는 Excel 파일 내의 각 시트(탭)를 의미합니다.

주로 변수 ws(Worksheet의 약자)에 워크북의 특정 시트를 저장하고, 이를 통해 시트의 데이터를 다룹니다.

이번 수업에서는 openpyxl의 주요 메서드를 알아보겠습니다.


active 메서드

active 메서드는 wb.active와 같이 워크북 객체에서 현재 활성화된 시트를 가져옵니다.

엑셀 파일을 열면 가장 먼저 보이는 시트가 활성화된 시트입니다.

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) # 변경된 시트의 이름 출력

create_sheet 메서드

create_sheet 메서드는 새로운 시트를 생성합니다.

새로 생성된 시트는 기본적으로 마지막에 추가되지만, 특정 위치에 시트를 추가할 수도 있습니다.

create_sheet 메서드 사용 예시
# 맨 끝에 시트 추가
new_sheet = wb.create_sheet("NewSheet")

# 첫 번째 위치에 시트 추가
first_sheet = wb.create_sheet("FirstSheet", 0)

wb.save('output_file.xlsx')

rows 메서드

rows 메서드는 시트의 모든 행(가로줄)을 가져옵니다. 이를 통해 시트의 데이터를 행 단위로 쉽게 처리할 수 있습니다.

rows 메서드 사용 예시
# 시트의 모든 행을 순회하며 값 출력
for row in ws.rows:
for cell in row:
print(cell.value)

columns 메서드

columns 메서드는 시트의 모든 열(세로줄)을 가져옵니다. rows 메서드와 비슷하게 열 단위로 데이터를 처리할 수 있습니다.

columns 메서드 사용 예시
# 시트의 모든 열을 순회하며 값 출력
for col in ws.columns:
for cell in col:
print(cell.value)

copy_worksheet 메서드

copy_worksheet 메서드는 기존 시트를 복사하여 새로운 시트를 생성합니다.

이 메서드를 사용하면 비슷한 구조의 시트를 빠르게 복사할 수 있습니다.

copy_worksheet 메서드 사용 예시
from openpyxl import load_workbook

wb = load_workbook('input_file.xlsx')

# 현재 활성화된 시트 가져오기
ws = wb.active

print(ws.title) # 활성화된 시트의 이름 출력

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!