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

파이썬으로 슬라이드에 표(Table) 생성 및 관리하기

엑셀 파일로 데이터를 읽어와 파워포인트 슬라이드에 표를 생성할 때, 표의 모든 항목에 값을 일일이 입력하는 것은 매우 번거로운 일입니다.

python-pptx 라이브러리를 사용하면 파이썬 코드로 간편하게 표를 생성하고 관리할 수 있습니다.

이뿐만 아니라 표의 셀을 병합하거나 분할하는 등의 작업도 쉽게 처리할 수 있습니다.


표 삽입하기: 데이터를 정리하는 첫걸음

슬라이드에 표를 삽입할 때는 slide.shapes.add_table() 메서드를 사용합니다.

add_table 메서드의 매개변수는 다음과 같습니다.

  • rows: 표의 행(가로줄) 개수

  • cols: 표의 열(세로줄) 개수

  • left: 표의 왼쪽 끝에서부터의 거리

  • top: 표의 위쪽 끝에서부터의 거리

  • width: 표의 너비

  • height: 표의 높이

표 삽입하기
# 표 삽입 (행 2개, 열 2개)
rows = 2
cols = 2

# 표 위치 설정
left = Inches(2)
top = Inches(2)

# 표 크기 설정
width = Inches(4)
height = Inches(1.5)

# 표 삽입
table = slide.shapes.add_table(rows, cols, left, top, width, height).table

# 1번째 행, 1번째 열에 텍스트 추가
table.cell(0, 0).text = "Header 1"

# 1번째 행, 2번째 열에 텍스트 추가
table.cell(0, 1).text = "Header 2"

# 2번째 행, 1번째 열에 텍스트 추가
table.cell(1, 0).text = "Row 1, Col 1"

# 2번째 행, 2번째 열에 텍스트 추가
table.cell(1, 1).text = "Row 1, Col 2"

위 코드는 slide.shapes.add_table(rows, cols, left, top, width, height) 메서드를 사용해 표를 추가하고, table 변수에 표 객체를 할당합니다.

table 변수에 할당된 표 객체의 cell 메서드를 사용해 표의 특정 셀에 텍스트를 추가할 수 있습니다.

매개변수 형식은 table.cell(row, col).text = "Content"로, row는 행 번호, col은 열 번호, Content는 셀에 추가할 텍스트를 나타냅니다.


셀 병합 및 분할: 데이터를 더 명확하게 표현하기

표를 사용할 때, 여러 셀을 하나로 병합하거나, 병합된 셀을 다시 분할해야 할 때가 있습니다. python-pptx에서는 merge() 메서드를 사용해 셀을 병합할 수 있습니다.

셀 병합하기
# 셀 병합 예시
table.cell(0, 0).merge(table.cell(0, 1))

# 병합된 셀에 텍스트 추가
table.cell(0, 0).text = "Merged Header"

참고로 python-pptx는 셀 분할하는 기능을 직접적으로 않습니다.

셀 분할 필요할 경우, 표를 재생성하거나 다른 방식으로 데이터를 관리해야 합니다.

다음 내용이 궁금하다면?

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