파이썬으로 파워 포인트에서 텍스트를 추출! (테이블에도 대응)

이 기사에 대하여



회의의 의사록등을 메일로 보내는 경우, 슬라이드의 문자만 원하는 경우가 있었으므로, 조금 코드를 써 보았습니다. 테이블의 문자를 빼내는 것이 약간 번거로웠습니다.

준비된 PowerPoint 샘플 파일 (sampleFile.pptx로 동일한 폴더에 보관)





결과


File name:  sampleFile.pptx 

-- Page 1 --
タイトルです

サブタイトルです

-- Page 2 --
2ページ目です。
テキストボックスです♪

果物, 八百屋さんA, スーパーB, 
バナナ, 100円, 200円, 
リンゴ, 150円, 140円, 

テーブルのサンプル

코드



import pptx
from glob import glob

for fname in glob ('*.pptx'):
    print ('File name: ', fname, '\n')
    prs = pptx.Presentation(fname)

    for i, sld in enumerate(prs.slides, start=1):

        print(f'-- Page {i} --')

        for shp in sld.shapes:

            if shp.has_text_frame:
                print (shp.text)

            if shp.has_table:
                tbl = shp.table
                row_count = len(tbl.rows)
                col_count = len(tbl.columns)
                for r in range(0, row_count):                 
                    text=''
                    for c in range(0, col_count):
                        cell = tbl.cell(r,c)
                        paragraphs = cell.text_frame.paragraphs 
                        for paragraph in paragraphs:
                            for run in paragraph.runs:
                                text+=run.text
                            text+=', '
                    print (text)
            print ()

같은 폴더에 있는 pptx 확장자를 포함하는 모든 파일의 텍스트를 추출합니다.

참고



파워 포인트 (pptx) 테이블 스크래핑
htps : // 코 m / 바보 / ms / 아 3 아 4 아 00 아에다 9d19에 41b6

PDF, Word, PowerPoint, Excel 파일에서 텍스트 부분을 일괄 추출하는 방법
htps : // 코 m / 바보 / ms / 아 3 아 4 아 00 아에다 9d19에 41b6

좋은 웹페이지 즐겨찾기