본문 바로가기
Python/openpyxl

파이썬 openpyxl 데이터 가공 및 정렬

by PySun 2024. 1. 2.
반응형

소개

openpyxl 라이브러리는 파이썬에서 엑셀 파일을 다루는데 필수적인 도구 중 하나입니다. 이번 포스팅에서는 엑셀 파일 내의 데이터를 가공하고 정렬하는 방법에 대해 알아보겠습니다. 데이터의 가공과 정렬은 엑셀 파일을 더 유용하게 활용할 수 있도록 도와주며, openpyxl을 이용하여 이러한 작업을 어떻게 수행하는지 학습해봅시다.

1. 데이터 가공하기:

openpyxl을 사용하여 엑셀 파일 내의 데이터를 가공하는 방법을 살펴봅시다.

from openpyxl import load_workbook

# 엑셀 파일 열기
workbook = load_workbook('example.xlsx')

# 기본 시트 선택
sheet = workbook.active

# 데이터 가공 예시: 모든 데이터에 10 더하기
for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=2, max_col=sheet.max_column):
    for cell in row:
        cell.value += 10

2. 데이터 정렬하기:

특정 열을 기준으로 데이터를 정렬하는 방법을 알아봅시다.

from openpyxl import Workbook

# 새로운 워크북 생성
workbook = Workbook()

# 기본 시트 선택
sheet = workbook.active

# 데이터 추가
sheet.append(['Name', 'Score'])
sheet.append(['Alice', 85])
sheet.append(['Bob', 92])
sheet.append(['Charlie', 78])

# 데이터 정렬: 성적 기준으로 내림차순 정렬
sheet.sort(column=2, descending=True)

3. 데이터 필터링과 정리:

조건에 따라 데이터를 필터링하고 필요한 정보만 새로운 시트에 정리하는 방법을 알아봅시다.

# 새로운 시트 생성
new_sheet = workbook.create_sheet('FilteredData')

# 조건에 맞는 데이터만 새로운 시트에 저장
for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
    if row[1].value >= 80:
        new_sheet.append([cell.value for cell in row])

마무리

이제 여러분은 openpyxl 라이브러리를 사용하여 엑셀 파일 내의 데이터를 가공하고 정렬하는 방법을 알게 되었습니다. 데이터를 가공하여 필요한 형태로 조작하고, 원하는 순서로 정렬하는 능력은 엑셀 파일을 보다 효율적으로 활용하는 핵심적인 기능입니다. 앞으로의 포스팅에서는 이러한 작업을 활용한 실전적인 예제와 활용법을 다룰 예정이니, 기대해 주세요.

반응형