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

매일 변하는 데이터를 자동 정리하는 엑셀 보고서 만들기

by jbparkbill 2025. 10. 30.
반응형

매일 변하는 데이터를 자동 정리하는 엑셀 보고서 만들기
매일 변하는 데이터를 자동 정리하는 엑셀 보고서 만들기

IT·디지털 자동화 블로그 · 파이썬 엑셀 자동화

pandas와 openpyxl을 이용하면 매일 변하는 데이터를 자동으로 불러와 통합, 분석, 요약 보고서를 생성할 수 있습니다. 이 글에서는 날짜별 파일을 읽어 합치고, 자동 요약 후 결과를 엑셀 파일로 저장하는 전체 자동화 과정을 다룹니다.

왜 자동 보고서가 필요한가

일일 매출, 출석 현황, 로그 데이터 등은 매일 새 파일로 생성됩니다. 이런 데이터를 수동으로 취합하고 요약하는 것은 비효율적입니다. 파이썬으로 자동 보고서를 구성하면 매일 데이터만 갱신해도 자동으로 최신 보고서를 만들 수 있습니다.

환경 설정

pip install pandas openpyxl

데이터 파일을 “data” 폴더에 날짜별로 저장해둡니다. 예: sales_2025-10-27.xlsx, sales_2025-10-28.xlsx

일별 데이터 불러오기

# file: daily_report.py
import pandas as pd
import glob
from datetime import datetime

# 데이터 폴더 내 엑셀 파일 불러오기
files = glob.glob("data/sales_*.xlsx")

df_list = []
for f in files:
    temp = pd.read_excel(f)
    temp["파일명"] = f
    df_list.append(temp)

df = pd.concat(df_list, ignore_index=True)
print("파일 병합 완료:", len(files), "개")

데이터 통합 및 요약

매출, 지역, 제품군별로 그룹화하여 요약 통계를 생성합니다.

# 매출 요약
summary = df.groupby("지역")["매출"].sum().reset_index()
summary = summary.sort_values("매출", ascending=False)

print(summary.head())

보고서 서식 지정

openpyxl을 사용해 자동 서식을 추가합니다.

# 보고서 저장
with pd.ExcelWriter("자동보고서.xlsx", engine="openpyxl") as writer:
    df.to_excel(writer, sheet_name="원본데이터", index=False)
    summary.to_excel(writer, sheet_name="요약", index=False)

print("보고서 생성 완료!")

엑셀 내에서는 자동으로 “원본데이터”와 “요약” 시트가 생성됩니다.

자동 저장 및 버전 관리

보고서 파일명을 날짜 기반으로 자동 생성해 버전 관리합니다.

today = datetime.now().strftime("%Y%m%d")
output_name = f"report_{today}.xlsx"
summary.to_excel(output_name, index=False)
print(f"저장 완료: {output_name}")

다음 글 예고: 자동 보고서 PDF 변환 및 이메일 발송

다음 편에서는 생성된 엑셀 보고서를 PDF로 자동 변환하고, 이메일로 발송하는 방법을 다룹니다.

다음 글 보러 가기

관련 읽을거리: 셀 값 수정 자동화 · 시트 자동 생성

참고: Python 공식 문서, pandas·openpyxl 가이드. 본 예제는 일일 리포트, 지점별 통계, 주간 매출 보고서 자동화에 바로 활용할 수 있습니다.

반응형