본문 바로가기
카테고리 없음

업무 자동화용 파이썬 엑셀 코드 (openpyxl, pandas, 엑셀 자동화)

by 가치정보인 2025. 4. 4.
반응형

엑셀 작업은 많은 직장인과 실무자들에게 일상입니다. 반복적으로 데이터를 입력하거나, 보고서를 생성하고, 계산을 수행하는 업무는 시간이 오래 걸리지만 정형화된 작업이기도 합니다. 파이썬을 활용하면 이런 엑셀 작업을 자동화하여 효율을 극대화할 수 있습니다. 이 글에서는 openpyxl과 pandas를 이용한 엑셀 자동화 방법을 실제 코드와 함께 정리해 드립니다. 파이썬 초보자도 바로 따라 할 수 있는 실전 중심 가이드입니다.

openpyxl로 엑셀 파일 읽고 쓰기

openpyxl은 .xlsx 파일을 직접 생성, 수정, 저장할 수 있는 라이브러리입니다. 주로 셀 단위 작업이 필요한 경우에 많이 사용되며, 시트 생성, 셀 서식, 색상 지정, 차트 추가 등 다양한 기능을 제공합니다.

from openpyxl import Workbook, load_workbook

# 새 엑셀 파일 만들기
wb = Workbook()
ws = wb.active
ws.title = "보고서"

# 데이터 입력
ws['A1'] = "이름"
ws['B1'] = "매출"
ws.append(["홍길동", 100000])
ws.append(["김철수", 200000])

# 파일 저장
wb.save("sales_report.xlsx")

기존 파일을 수정할 경우 load_workbook("파일명.xlsx")으로 불러와서 동일한 방식으로 편집할 수 있습니다. 또한 for 루프를 통해 대량의 데이터를 자동으로 입력하거나, 특정 조건에 따라 셀 색상을 다르게 처리하는 등의 고급 자동화도 가능합니다.

pandas로 엑셀 데이터 다루기

pandas는 엑셀 데이터를 데이터프레임으로 불러와 처리할 수 있는 강력한 도구입니다. 필터링, 정렬, 그룹핑, 연산 등 대규모 데이터 분석에 특히 유리합니다. read_excel()과 to_excel() 함수만 익혀도 상당한 업무 자동화가 가능합니다.

import pandas as pd

# 엑셀 파일 읽기
df = pd.read_excel("sales_report.xlsx")

# 매출 150000 이상인 데이터만 필터링
high_sales = df[df['매출'] >= 150000]

# 결과를 새 파일로 저장
high_sales.to_excel("high_sales.xlsx", index=False)

복잡한 수식 대신 코드 한 줄로 원하는 결과를 도출할 수 있고, 반복 작업도 for문이나 apply() 함수로 유연하게 처리할 수 있습니다.

실무에 바로 쓰는 자동화 팁

  • 자동 날짜 입력: datetime 모듈로 날짜 자동 생성 → 보고서 파일명에 날짜 삽입
  • 다중 시트 처리: openpyxl로 여러 시트를 순회하며 자동 처리
  • 조건부 서식: 특정 값 이상일 때 색상 변경 등 시각화 적용
  • 이메일 자동 전송 연동: smtplib과 함께 사용하여 보고서 자동 메일 발송
  • 스케줄링: schedule 또는 윈도우 작업 스케줄러로 매일 자동 실행

예를 들어, 매일 아침 9시에 전날 매출 데이터를 엑셀로 정리하고 이메일로 전송하는 작업을 모두 자동화할 수 있습니다.

엑셀 업무는 자동화할 수 있습니다. openpyxl은 구조적 엑셀 작업에, pandas는 대량 데이터 분석에 강력한 도구입니다. 파이썬으로 업무 자동화를 시작하면 반복 작업의 피로를 줄이고, 더 중요한 일에 집중할 수 있게 됩니다. 지금 간단한 엑셀 자동화 스크립트를 직접 실행해보며 업무 효율을 높여보세요!

반응형