Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

파이썬을 사용하여 PowerPoint에서 테이블 만들기(또는 추출하기)

권현욱(엑셀러) 2024. 7. 21. 18:53
반응형

들어가기 전에

PowerPoint의 표는 Excel이나 Word와 유사하게 구조화된 형식으로 데이터를 구성하고 표시합니다. 정보를 명확하고 간결하게 표시하므로 청중이 콘텐츠를 더 쉽게 소화하고 이해할 수 있습니다. 파이썬을 사용하여 PowerPoint 프레젠테이션에서 테이블을 만들고 추출하는 방법을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.


  • 원문: 7 Best Online Business Analytics Programs With Certificates
  • URL: https://azednews.com/best-online-business-analytics-programs-with-certificates/

파워포인트 표를 만들거나 추출하는 Python 라이브러리

Python으로 PowerPoint 프레젠테이션에서 표를 만들거나 추출하려면 Python용 Spire.Presentation 라이브러리를 사용할 수 있습니다. Python용 Spire.Presentation은 Python 애플리케이션 내에서 PowerPoint 프레젠테이션을 만들고, 읽고, 편집하고, 변환할 수 있는 기능이 풍부하고 사용자 친화적인 라이브러리입니다.

 

이 라이브러리를 사용하면 텍스트 또는 이미지 추가, 도형 삽입, 표 및 차트 만들기, 슬라이드 추가 또는 삭제, 슬라이드 숨기기 또는 표시, 프레젠테이션 병합 또는 분할, 프레젠테이션 암호화 또는 해독, 워터마크 추가, 비디오 및 오디오 삽입, 주석 추가 등 PowerPoint 프레젠테이션에서 다양한 조작을 수행할 수 있습니다. 또한 PowerPoint 프레젠테이션을 PDF, 이미지, HTML, SVG, ODP, OFD, XPS 등 다양한 파일 형식으로 변환할 수도 있습니다. PyPI에서 다음 pip 명령을 사용하여 Python용 Spire.Presentation을 설치할 수 있습니다.

pip install Spire.Presentation

 

설치에 대한 자세한 내용은 이 공식 문서에서 확인할 수 있습니다.

파이썬으로 파워포인트 프레젠테이션에서 표 만들기

ISlide.Shapes.AppendTable() 함수를 사용하여 PowerPoint 슬라이드에 표를 추가할 수 있습니다. 표가 추가되면 ITable[columnIndex, rowIndex].TextFrame.Text 속성을 사용하여 셀을 데이터로 채울 수 있습니다. 다음은 Python에서 PowerPoint 슬라이드에 표를 추가하는 방법을 보여주는 예제입니다.

from spire.presentation.common import *
from spire.presentation import *
import math

# Create a new PowerPoint presentation
presentation = Presentation()
# If you want to load an existing presentation, add this line
# presentation.LoadFromFile("input_file_path")

# Get the first slide in the presentation
slide = presentation.Slides[0]

# Define the widths of columns in the table
column_widths = [110, 100, 150, 100]
# Define the heights of rows in the table
row_heights = [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]

# Calculate the total width of the table
total_width = sum(column_widths)

# Specify the x and y coordinates to add the table
x = math.trunc(presentation.SlideSize.Size.Width / float(2)) - (total_width / 2)
y = 100

# Add a table to the slide
table = slide.Shapes.AppendTable(x, y, column_widths, row_heights)

# Define the data for the table
table_data = [
    ["Employee", "Department", "Job Title", "Salary"],
    ["John Doe", "Sales", "Sales Manager", "$85,000"],
    ["Jane Smith", "Marketing", "Marketing Coordinator", "$52,000"],
    ["Bob Johnson", "IT", "Software Engineer", "$95,000"],
    ["Emily Davis", "HR", "HR Specialist", "$62,000"],
    ["Michael Wilson", "Finance", "Financial Analyst", "$78,000"],
    ["Sarah Lee", "Operations", "Operations Manager", "$90,000"],
    ["David Kim", "R&D", "Research Scientist", "$85,000"],
    ["Olivia Chen", "Marketing", "Marketing Specialist", "$58,000"],
    ["Tom Nguyen", "IT", "IT Support Technician", "$48,000"],
    ["Samantha Brown", "HR", "Recruitment Coordinator", "$55,000"]
]

# Populate the table with the data
for i, row in enumerate(table_data):
    for j, cell_value in enumerate(row):
        table[j, i].TextFrame.Text = cell_value
        # Set the font and font size for the text in each cell
        table[j,i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = TextFont("Arial")
        table[j,i].TextFrame.Paragraphs[0].TextRanges[0].FontHeight = 12
        # Center the text in each cell
        table[j, i].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center
        
# Apply a built-in table style to the table
table.StylePreset = TableStylePreset.LightStyle3Accent5

# Save the PowerPoint presentation to a file
presentation.SaveToFile("CreateTable.pptx", FileFormat.Pptx2010)
presentation.Dispose()

 

이미지: medium

파이썬으로 파워포인트 프레젠테이션에서 표 추출하기

파워포인트 슬라이드의 표는 ITable 객체로 표현됩니다. 따라서 표를 추출하려면 먼저 ITable 유형인 도형을 찾은 다음 표의 셀을 탐색하고 Cell.TextFrame.Text 속성을 사용하여 셀의 데이터를 가져와야 합니다. 다음은 Python으로 PowerPoint 프레젠테이션에서 표를 추출하는 방법을 보여주는 예제입니다.

from spire.presentation.common import *
from spire.presentation import *

# Initialize an instance of the Presentation class
presentation = Presentation()

# Load a PowerPoint presentation containing tables
presentation.LoadFromFile("CreateTable.pptx")

# Create a list to store the extracted table data
table_data = []

# Traverse through the slides in the presentation
for slide in presentation.Slides:
    # Traverse through the shapes on each slide
    for shape in slide.Shapes:
        # Check if the current shape is a table
        if isinstance(shape, ITable):
            table = shape
            
            # Get the data of the cells in the table and append them to the list
            table_data.extend([" | ".join(cell.TextFrame.Text.strip() for cell in row) for row in table.TableRows])
            table_data.append("")

# Write the table data to a text file
with open("table.txt", "w", encoding="utf-8") as file:
    file.write("\n".join(table_data))

presentation.Dispose()

 

이미지: medium

 

마치며

파이썬을 사용하여 파워포인트 프레젠테이션에 표를 삽입하고 파워포인트 프레젠테이션에서 표를 추출하는 방법에 대해 소개했습니다. 파이썬으로 PPTX 또는 PPT로 변환하는 방법에 대해 궁금하신 분은 [여기]를 참고하세요.

Excel과 VBA의 모든 것 아이엑셀러 닷컴 · 강사들이 숨겨 놓고 보는 엑셀러TV

반응형