반응형

IT·디지털 자동화 블로그 · 파이썬 엑셀 시각화
환경 설정
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로 변환하고, 이메일로 자동 발송하는 방법을 다룹니다.
관련 읽을거리: 엑셀 시트 자동 생성 · 매일 자동 보고서 생성
반응형