파이썬으로 슬라이드에 표(Table) 생성 및 관리하기
엑셀 파일에서 데이터를 읽어와 파워포인트 슬라이드에 표를 생성할 때, 모든 항목에 값을 일일이 입력하는 것은 매우 번거로운 작업입니다.
python-pptx
라이브러리를 사용하면 파이썬 코드로 표를 간편하게 생성하고 관리할 수 있습니다.
반복적인 작업을 자동화하는 프로그램의 장점을 활용하면, 대규모 데이터를 파이썬으로 처리한 후 슬라이드에 여러 개의 표를 효율적으로 삽입할 수 있습니다.
표 삽입하기: 데이터를 정리하는 첫걸음
슬라이드에 표를 삽입할 때는 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 강의를 등록해 주세요!