파워포인트로 프로젝트 상태를 시각화하기
이제 파이썬을 이용해 엑셀에서 불러온 프로젝트 상태 데이터를 파워포인트 슬라이드로 시각화
해보겠습니다.
프로젝트 이름 | 진척도 (%) | 시작일 | 종료일 | 문제점 |
---|---|---|---|---|
웹사이트 리뉴얼 | 80 | 2024-07-01 | 2024-12-31 | 개발 지연 |
마케팅 캠페인 | 50 | 2024-08-15 | 2024-11-15 | 없음 |
신규 제품 출시 | 30 | 2024-09-01 | 2025-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:]))