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

파이썬으로 엑셀 차트 그리기 – 시각화 자동화의 첫 단계

by jbparkbill 2025. 10. 30.
반응형

파이썬으로 엑셀 차트 그리기 – 시각화 자동화의 첫 단계
파이썬으로 엑셀 차트 그리기 – 시각화 자동화의 첫 단계

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

 

매일 반복되는 데이터 보고서를 자동으로 시각화하면 시간과 실수를 동시에 줄일 수 있습니다. 이번 글에서는 openpyxl을 사용해 엑셀 차트를 자동으로 생성하고, 보고서 형태로 저장하는 방법을 단계별로 알아봅니다.

환경 설정

pandas와 openpyxl을 설치합니다.

pip install pandas openpyxl

데이터 준비

기초 데이터는 pandas로 생성하거나 CSV 파일에서 불러옵니다.

import pandas as pd

# 샘플 데이터 생성
data = {
    "월": ["1월","2월","3월","4월","5월"],
    "매출": [100, 150, 180, 120, 200],
    "비용": [60, 80, 90, 70, 100]
}

df = pd.DataFrame(data)
df.to_excel("chart_data.xlsx", index=False)
print("데이터 파일 생성 완료")

엑셀 차트 생성

openpyxl을 이용해 엑셀 워크북에 차트를 추가합니다.

from openpyxl import load_workbook
from openpyxl.chart import BarChart, Reference

wb = load_workbook("chart_data.xlsx")
ws = wb.active

# 범위 지정
values = Reference(ws, min_col=2, max_col=3, min_row=1, max_row=6)
cats = Reference(ws, min_col=1, min_row=2, max_row=6)

# 막대형 차트 생성
chart = BarChart()
chart.title = "월별 매출 및 비용"
chart.x_axis.title = "월"
chart.y_axis.title = "금액(만원)"
chart.add_data(values, titles_from_data=True)
chart.set_categories(cats)

ws.add_chart(chart, "E2")
wb.save("excel_chart_auto.xlsx")
print("엑셀 차트 자동 생성 완료!")

차트 스타일 지정

openpyxl은 다양한 스타일 옵션을 제공합니다.

chart.style = 13  # 파란색 계열 스타일
chart.legend.position = "b"  # 범례를 아래로 이동
chart.y_axis.majorGridlines = None  # 그리드 제거

이 옵션들을 조합해 브랜드 컬러나 회사 보고서에 맞춘 디자인으로 자동화할 수 있습니다.

자동 보고서 저장

날짜를 포함한 파일명으로 자동 저장하면 버전 관리가 편리합니다.

from datetime import datetime

date = datetime.now().strftime("%Y%m%d")
wb.save(f"excel_chart_report_{date}.xlsx")
print(f"보고서 저장 완료 → excel_chart_report_{date}.xlsx")

활용 팁

  • 여러 개의 차트를 한 시트에 배치할 수 있습니다.
  • 라인 차트, 파이 차트, 누적형 막대형 등으로 응용 가능합니다.
  • 조건부 서식과 함께 사용하면 데이터 강조 효과가 커집니다.
  • matplotlib과 결합하면 훨씬 풍부한 시각화를 자동화할 수 있습니다.

다음 글 예고: 자동 차트 PDF 보고서 생성

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

다음 글 보러 가기

관련 읽을거리: 엑셀 시트 자동 생성 · 매일 자동 보고서 생성

참고: Python, pandas, openpyxl 공식 문서. 본 예제는 실무 보고서 자동화, 월별 통계 차트, 매출 리포트 시각화 등에 바로 활용 가능합니다.

반응형