2016-09-09 52 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) 
相关问题