본문 바로가기
Python - 자동화

[11편] 엑셀 데이터를 읽고 그래프 시각화하여 자동 저장하기 - 여러 데이터로 실전 자동화!

by ramzee 2025. 5. 11.

1. 왜 이걸 해야 할까?

회사에서는 데이터 분석 결과를 그래프로 시각화해 보고해야 할 때가 많습니다.

특히 데이터 양이 많을수록...

  • 엑셀에서 수작업으로 차트를 만드는 데 시간이 오래 걸리고,
  • 파일로 저장하는 과정에서도 실수가 발생할 수 있습니다.

파이썬 자동화를 활용하면 엑셀 데이터를 읽어, 그래프를 만들고, 자동으로 파일로 저장까지 한 번에 처리할 수 있습니다! ---

2. 어떤 상황에서 유용할까?

  • 부서별 매출 추이를 한 번에 그래프로 정리할 때
  • 지점별 실적 비교 차트를 자동으로 생성할 때
  • 월별, 분기별 매출 리포트를 효율적으로 만들 때

그래프 자동 저장은 리포트 품질과 작업 속도를 동시에 높여줍니다. ---

3. 준비물

  • Python 설치
  • pandas, matplotlib 설치
  • 엑셀 데이터 파일(.xlsx) 준비

설치 방법:

pip install pandas matplotlib openpyxl

✅ 샘플 파일 다운로드: 

sample_sheets_rich.zip
0.01MB

(압축 풀면 sample1.xlsx, sample2.xlsx 파일이 들어 있습니다.)

---

4. 본격 실습: 엑셀 데이터로 그래프 그리고 저장하기

4-1. 폴더 준비

  • 엑셀 파일들은 C:/Users/YourName/Desktop/엑셀모음 폴더에 모아주세요.
  • 그래프 결과는 C:/Users/YourName/Desktop/그래프결과 폴더로 저장됩니다.

---

4-2. 코드 작성

import os
import pandas as pd
import matplotlib.pyplot as plt

# 엑셀 파일 폴더
input_folder = 'C:/Users/YourName/Desktop/엑셀모음'

# 그래프 저장 폴더
output_folder = 'C:/Users/YourName/Desktop/그래프결과'
os.makedirs(output_folder, exist_ok=True)

# 한글 폰트 설정 (Malgun Gothic)
plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False

# 모든 엑셀 파일 처리
for file in os.listdir(input_folder):
    if file.endswith('.xlsx'):
        file_path = os.path.join(input_folder, file).replace('\\', '/')

        # 파일 안 모든 시트 읽기
        sheets = pd.read_excel(file_path, sheet_name=None)

        for sheet_name, df in sheets.items():
            if '이름' in df.columns and '매출액' in df.columns:
                plt.figure(figsize=(10, 6))
                
                # 막대 그래프 생성
                plt.bar(df['이름'], df['매출액'], color='lightseagreen')

                plt.title(f"{sheet_name} 매출액 현황")
                plt.xlabel('직원명')
                plt.ylabel('매출액')
                plt.xticks(rotation=45)
                plt.tight_layout()

                # 파일 저장
                save_name = f"{os.path.splitext(file)[0]}_{sheet_name}.png"
                save_path = os.path.join(output_folder, save_name).replace('\\', '/')
                plt.savefig(save_path, dpi=150)

                plt.close()

print("✅ 그래프 자동 생성 및 저장 완료! 결과 폴더:", output_folder)

---

4-3. 실행 결과

  • sample1_영업부.png, sample1_인사부.png, sample2_개발부.png, sample2_기획부.png 파일이 생성됩니다.
  • 각 부서별로 10명씩 매출액 그래프가 자동으로 저장됩니다.

✅ 다수의 엑셀 데이터 → 고퀄리티 그래프 파일로 자동 완성!

---

5. 📢 여기서 주의사항!

  • 한글 폰트 설정을 꼭 해주세요. (Malgun Gothic 추천)
  • 시트 이름 + 파일 이름에 특수문자가 없는지 확인하세요.
  • 매출액 컬럼이 숫자형인지 점검해야 합니다.

---

6. 실무 적용 꿀팁

  • 그래프 색상을 부서별로 다르게 지정할 수 있습니다.
  • 꺾은선 그래프(plt.plot())로 매출 추이 분석도 가능합니다.
  • 그래프에 매출액 레이블을 표시하면 한눈에 수치를 알 수 있습니다.

---

7. 요약

항목 요약
기능 엑셀 데이터를 읽고 부서별 매출 그래프 자동 생성 및 저장
효과 리포트용 그래프 파일 자동 생성, 시간 절약
준비물 Python + pandas + matplotlib + openpyxl
독자 초보자 OK (복붙 실습 가능)
주의사항 한글 폰트 설정, 파일명/시트명 특수문자 주의

---

✨ 다음편 예고

[12편] 폴더 안 모든 엑셀 파일에서 조건 검색 결과만 추출하기
: 대량 엑셀 파일에서 필요한 데이터만 자동으로 추출하는 방법을 배웁니다!