가이드라인

PPT 업무 자동화 체험하기

이번 수업에서는 파이썬으로 PPT 업무를 처리하고, 데이터를 활용해 표와 차트를 추가하는 방법을 소개합니다.

물론 간단한 슬라이드는 직접 만드는 것이 빠르겠지만, 대규모 데이터를 바탕으로 반복적인 작업이 필요할 때는 파이썬 프로그램으로 처리하는 것이 훨씬 효율적입니다.

앞서 말씀드린 것처럼 아직 코드를 이해하려 노력하실 필요 없습니다.

모든 코드는 AI가 작성하고, AI가 설명하고, AI가 개선할 것입니다 🙂

코드 에디터의 초록색으로 표시된 ▶︎ 실행 버튼을 누르고, 아래 코드 설명을 가볍게 읽어보세요!


가볍게 읽는 코드 설명

1. 참가자 데이터 준비

먼저 아래와 같은 이벤트 참가자 데이터가 있다고 가정해 보겠습니다.

프로그램의 목적은 아래 데이터를 바탕으로 2개의 슬라이드를 생성하는 것입니다.

  • 슬라이드 1 : 참가자 목록을 테이블(표) 형태로 표시

  • 슬라이드 2 : 성별 분포를 파이 차트로, 연령대 분포를 막대 차트로 시각화

위 두 가지 슬라이드를 만들어 보겠습니다.

참가자 데이터
csv_data = [ ["참가자명", "신청일", "성별", "나이"], ["참가자1", "2024-09-01", "남성", "25"], ["참가자2", "2024-09-02", "여성", "30"], ["참가자3", "2024-09-03", "남성", "35"], ["참가자4", "2024-09-04", "남성", "42"], ["참가자5", "2024-09-05", "여성", "28"], ["참가자6", "2024-09-06", "여성", "39"], ["참가자7", "2024-09-07", "남성", "24"], ]

아래 코드는 정의된 데이터를 바탕으로 참가자 목록을 participants 변수에 저장합니다.

참가자 목록 생성
participants = [] for row in csv_data[1:]: participants.append({ "name": row[0], "date": row[1], "gender": row[2], "age": int(row[3]) })

2. PowerPoint 파일 생성

이제 PowerPoint 파일을 생성하고 슬라이드를 추가해 보겠습니다.

PowerPoint 파일 생성
from pptx import Presentation prs = Presentation() # PowerPoint 파일 생성 slide_layout = prs.slide_layouts[5] slide = prs.slides.add_slide(slide_layout) title = slide.shapes.title title.text = "스타트업 이벤트 참가자"

이 코드를 실행하면 "스타트업 이벤트 참가자"라는 제목을 가진 슬라이드가 생성됩니다.


3. 참가자 정보를 표로 표시

아래와 같이 반복문을 활용해 참가자 정보를 슬라이드에 테이블(표) 형태로 추가할 수 있습니다.

슬라이드에 참가자 정보를 표 형태로 추가
table = slide.shapes.add_table(len(participants) + 1, 4, Inches(0.5), Inches(1.5), Inches(8), Inches(3)).table for col_index, heading in enumerate(csv_data[0]): table.cell(0, col_index).text = heading for row_index, participant in enumerate(participants, start=1): table.cell(row_index, 0).text = participant["name"] table.cell(row_index, 1).text = participant["date"] table.cell(row_index, 2).text = participant["gender"] table.cell(row_index, 3).text = str(participant["age"])

4. 데이터 시각화: 성별 분포 차트 추가

이제 파이 차트로 성별 분포를 시각화해보겠습니다.

성별 분포 파이 차트 추가
from collections import Counter from pptx.chart.data import ChartData from pptx.enum.chart import XL_CHART_TYPE gender_count = Counter(p["gender"] for p in participants) chart_data = ChartData() chart_data.categories = list(gender_count.keys()) chart_data.add_series('성별 분포', (gender_count["남성"], gender_count["여성"])) chart = slide.shapes.add_chart(XL_CHART_TYPE.PIE, Inches(0.5), Inches(1.5), Inches(4), Inches(3), chart_data).chart

이제 자동으로 참가자들의 성별 분포가 파이 차트로 그려집니다.


5. 데이터 시각화: 연령대 막대 차트 추가

참가자의 나이를 20대, 30대, 40대로 그룹화하여 막대 차트를 그립니다.

연령대 분포 막대 차트 추가
age_groups = {'20대': 0, '30대': 0, '40대': 0} for participant in participants: age = participant["age"] if 20 <= age < 30: age_groups['20대'] += 1 elif 30 <= age < 40: age_groups['30대'] += 1 elif 40 <= age < 50: age_groups['40대'] += 1 bar_chart_data = CategoryChartData() bar_chart_data.categories = list(age_groups.keys()) bar_chart_data.add_series('연령대 분포', tuple(age_groups.values())) chart = slide.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, Inches(5), Inches(1.5), Inches(4), Inches(3), bar_chart_data).chart

6. pptx 파일 저장

마지막으로 아래 코드를 실행하면, 작성한 내용이 포함된 pptx 파일이 저장됩니다.

pptx 파일 저장
prs.save("output_file.pptx")

앞서 말씀드린 것처럼 코드로 작업한 내용을 코드프렌즈 실습 화면에서 확인하려면, 반드시 파일명을 output_file로 지정해주세요!


파이썬 코드로 어떻게 PPT를 만들 수 있는지 감을 잡으셨나요?

다음 수업에서는 파이썬을 활용해 docx 문서를 만드는 과정을 체험해보겠습니다.

Mission
0 / 1

코드를 실행하고 결과를 확인해 보세요.

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과

결과물

문서가 비어 있습니다.

코드를 실행해보세요.