1. 왜 이걸 해야 할까?
매출 데이터가 부서별로 나뉘어 있는 경우, 부서마다 개별 차트를 만들어야 할 때가 많습니다.
하지만 일일이 차트를 복사하고 수정하는 건 번거롭고 오류도 많죠.
✅ 이번에는 부서별로 자동으로 차트를 여러 개 생성하고 ✅ 보기 좋게 엑셀 내에 정렬하는 방법을 배워봅니다! ---
2. 사용할 라이브러리
pip install pandas xlwings
- pandas : 데이터 그룹화 - xlwings : 엑셀 차트 자동 삽입 ---
3. 실습 목표
- 파일명:
sample1.xlsx
- 내용: 부서, 이름, 매출액, 프로젝트 수 등
- 목표: 부서별 매출액 + 프로젝트 수 차트를 각각 만들기
---
4. 샘플 데이터 예시
이름 | 부서 | 직급 | 입사년도 | 매출액 | 성과등급 | 프로젝트수 | 근무지역 |
---|---|---|---|---|---|---|---|
유서연 | 재무부 | 사원 | 2016 | 1991549 | B | 8 | 부산 |
백서준 | 개발부 | 사원 | 2021 | 2306411 | A | 7 | 부산 |
조지우 | 영업부 | 부장 | 2015 | 2388898 | B | 4 | 대구 |
홍서윤 | 개발부 | 차장 | 2018 | 1325355 | B | 2 | 서울 |
---
5. 전체 코드
import pandas as pd
import xlwings as xw
# 1. 경로 설정
file_path = 'C:/Users/YourName/Desktop/엑셀자동화/sample1.xlsx'
save_path = 'C:/Users/YourName/Desktop/엑셀자동화/sample1_부서별차트.xlsx'
# 2. 데이터 로드
df = pd.read_excel(file_path)
# 3. 엑셀로 저장 (정리용)
df.to_excel(save_path, index=False)
# 4. 엑셀 열기
app = xw.App(visible=True)
wb = app.books.open(save_path)
sheet = wb.sheets[0]
# 5. 부서별 데이터 분리 및 차트 생성
unique_depts = df['부서'].unique()
start_row = df.shape[0] + 5 # 기존 데이터 아래에서 시작
col_offset = 0
for dept in unique_depts:
temp_df = df[df['부서'] == dept][['이름', '매출액', '프로젝트수']]
# 데이터 입력
row_offset = start_row + 20 * list(unique_depts).index(dept)
sheet.range(f'A{row_offset}').value = temp_df
# 데이터 범위
data_range = sheet.range(f'A{row_offset}').expand()
# 차트 삽입
chart = sheet.charts.add()
chart.chart_type = 'column_clustered'
chart.set_source_data(data_range)
chart.top = data_range.top
chart.left = data_range.left + 300
chart.width = 400
chart.height = 300
print(f"✅ {dept} 차트 생성 완료")
# 6. 저장 및 종료
wb.save()
wb.close()
app.quit()
print("🎉 부서별 차트 자동 생성 완료")
---
6. 실행 결과
- 엑셀 창이 열리고, - 각 부서별로 데이터 표 + 막대그래프가 생성됩니다. - 차트는 자동으로 보기 좋게 나란히 배치됩니다. ---
7. 주의사항
- 엑셀(MS Office)이 설치된 PC에서만 작동합니다.
- 파일 경로는 슬래시(/)로 표기하세요.
- 데이터가 너무 많을 경우 차트 위치가 겹치지 않도록
row_offset
을 늘려야 합니다.
---
8. 실무 활용 팁
- 부서 외에도 '직급', '근무지역' 등으로 응용할 수 있습니다. - 파워포인트 자동화와 연결하면 부서별 보고서 자동 작성도 가능합니다. - 컬러/폰트 등도 엑셀 차트 속성으로 자동 제어 가능합니다
'Python - 자동화' 카테고리의 다른 글
[17편] 엑셀 차트를 PDF & PNG 이미지로 자동 저장하기 - 고화질 보고서용 자료 추출 (0) | 2025.05.17 |
---|---|
[16편] 부서별 차트 색상 자동 지정하기 - 시각적 보고서 품질 향상하기 (0) | 2025.05.16 |
[14편] 엑셀 파일을 직접 열어 "부서별 매출액 그래프" 자동 생성하기 - 실무용 엑셀 자동화 실습 (0) | 2025.05.14 |
[13편] 필터링된 추출 결과 파일만 골라 하나의 통합 파일로 자동 저장하기 - "추출 결과 전용" 통합! (0) | 2025.05.13 |
[12편] 폴더 안 대량 엑셀 파일에서 조건 검색 결과만 추출하기 - "개별 파일 저장" 하기 (0) | 2025.05.12 |