2016-09-09 49 views
1

我想找到一種方法來查找文件夾,並搜索該文件夾中所有powerpoint文檔的內容以查找特定的字符串,最好使用Python。找到這些字符串後,我想要報告該字符串後面的文本以及發現它的文檔。我想編譯信息並將其報告爲CSV文件。使用python從多個PowerPoint文件中提取文本

到目前爲止,我只碰到了olefil包,https://bitbucket.org/decalage/olefileio_pl/wiki/Home。這提供了包含在特定文檔中的所有文本,這不是我所期待的。請幫忙。

+1

喜卡塞!歡迎來到Stackoverflow!在Stackoverflow中,我們幫助人們修復並有時重寫他們現有的代碼以正確工作。我擔心你的問題對於SO網站有點偏離主題。這裏怎麼樣;你的基本要求是什麼,「我怎麼寫一些代碼來執行x,然後y,然後,z」。雖然這些類型的問題可能是適當的,但你應該展示**你嘗試過的**。在問這裏之前試圖解決你的問題。誰知道,你可以自己搞清楚!如果您嘗試過的方法無效,我們將非常樂意幫您解決問題。祝你好運! –

+0

類型爲「.pptx」的文件是zip文件。 – Marichyasana

回答

1

python-pptx可以用來做你的建議。而就在一個較高水平,你會做這樣的事情(不工作密碼,公正和全面的方法的想法):

from pptx import Presentation 

for pptx_filename in directory: 
    prs = Presentation(pptx_filename) 
    for slide in prs.slides: 
     for shape in slide.shapes: 
      print shape.text 

你需要的位添加關於搜索關鍵字符串形狀文本和添加他們到一個CSV文件或其他,但這種一般的方法應該工作得很好。我要把它留給你的工作了細點:)

+0

這不適用於ppt文件,它只適用於pptx文件 –

0

實際工作

from pptx import Presentation 
import os 


files = [x for x in os.listdir() if x.endswith(".pptx")] 


for eachfile in files: 
    prs = Presentation(eachfile) 
    print(eachfile) 
    print("----------------------") 
    for slide in prs.slides: 
     for shape in slide.shapes: 
      if hasattr(shape, "text"): 
       print(shape.text)pe.text) 
相關問題