본문으로 건너뛰기
실습하기

파워포인트로 프로젝트 상태를 시각화하기

이제 파이썬을 이용해 엑셀에서 불러온 프로젝트 상태 데이터를 파워포인트 슬라이드로 시각화해보겠습니다.

프로젝트 이름진척도 (%)시작일종료일문제점
웹사이트 리뉴얼802024-07-012024-12-31개발 지연
마케팅 캠페인502024-08-152024-11-15없음
신규 제품 출시302024-09-012025-01-31생산 문제 발생

python-pptx를 사용해 엑셀 데이터를 표로 변환하고, 각 프로젝트의 진척도를 막대 그래프로 시각화해보겠습니다.


주요 코드 설명

실습 코드는 크게 다음과 같은 순서로 진행됩니다.


1. 표 위치 및 크기 정의

Inch 단위로 표 위치 및 크기 정의
rows, cols = len(data), len(data[0])

left = Inches(0.5)
top = Inches(0.5)
width = Inches(9.0)
height = Inches(2.0)

2. 슬라이드에 표 추가

표 생성 및 데이터 추가
# add_table로 슬라이드에 표 추가
table = slide.shapes.add_table(rows, cols, left, top, width, height).table

3. 표 셀에 데이터 추가

액샐 데이터를 파워포인트 표에 입력
# 표에 엑셀 데이터 입력
for row_idx, row_data in enumerate(data):
# 각 행의 데이터를 순회하며 셀에 데이터 입력
for col_idx, cell_value in enumerate(row_data):
# 각 셀에 데이터 입력
table.cell(row_idx, col_idx).text = str(cell_value)

4. 차트 생성을 위한 데이터 준비

차트 데이터 준비
# 차트 생성을 위한 데이터 준비 (프로젝트 이름과 진척도 %)
chart_data = CategoryChartData()

# 첫 번째 행은 제외 (헤더)
chart_data.categories = [row[0] for row in data[1:]]

# 진척도 (%) 데이터 추가
chart_data.add_series('진척도 (%)', (row[1] for row in data[1:]))

5. 슬라이드에 차트 추가

차트 생성 및 추가
x, y, cx, cy = Inches(0.5), Inches(3.0), Inches(5.0), Inches(3.0)

# 차트 추가 (세로 막대형 차트)
chart = slide.shapes.add_chart(
XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
).chart

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!