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

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

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

프로젝트 이름진척도 (%)시작일종료일문제점
웹사이트 리뉴얼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)

python-pptx 라이브러리의 Inches 클래스를 사용해 표의 위치와 크기를 정의합니다.

표가 삽입될 위치를 왼쪽 기준으로 0.5인치, 상단 기준으로 0.5인치로 설정하고, 표의 너비와 높이를 각각 9.0인치2.0인치로 설정합니다.


2. 슬라이드에 표 추가

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

슬라이드에 표를 추가하기 위해 slide.shapes.add_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)

enumerate 함수를 사용해 각 행의 데이터를 순회하며 표의 각 셀에 데이터를 입력합니다.

각 셀에 데이터를 입력할 때는 table.cell(row_idx, col_idx).text를 사용합니다.


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:]))

차트 생성을 위한 데이터를 준비합니다.

CategoryChartData 클래스를 사용해 차트 데이터를 생성하고, chart_data.categories에 프로젝트 이름을, chart_data.add_series에 진척도(%) 데이터를 추가합니다.


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

x, y, cx, cy로 차트의 위치와 크기를 설정하고, slide.shapes.add_chart 메서드를 사용해 슬라이드에 차트를 추가합니다.

XL_CHART_TYPE는 차트의 종류를 지정하는 열거형 상수로, COLUMN_CLUSTERED는 세로 막대형 차트를 의미합니다.

다음 내용이 궁금하다면?

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