如何从pptx幻灯片中检测数据类型和读取数据

时间:2015-12-29 05:21:17

标签: python file python-pptx

sample ppt slide.

我必须阅读pptx文件。 在重新编写时,我将从幻灯片中提取一些数据,但不是所有数据。 找到幻灯片样本。我能够读取除{1,2,3}选项数据之外的所有数据。 我也想读它

这是代码。

from pptx import Presentation

prs = Presentation(path_to_presentation)

# text_runs will be populated with a list of strings,
# one for each text run in presentation
text_runs = []

for slide in prs.slides:
   for shape in slide.shapes:
     if not shape.has_text_frame:
        continue
   for paragraph in shape.text_frame.paragraphs:
       for run in paragraph.runs:
           text_runs.append(run.text)

1 个答案:

答案 0 :(得分:0)

幻灯片上的所有项目都是一种或另一种形状。唯一的例外是背景图片。

然而,幻灯片布局“继承”了形状的业务。幻灯片布局中的项目(例如徽标)将在幻灯片上以可视化显示在PowerPoint中,但不会包含在幻灯片的XML中,也不会出现在slide.shapes中

另一件需要注意的事情是,PowerPoint会出于各种原因分解文本的运行,即使它们具有完全相同的格式。你不能确定它会保持一个单一的逻辑单一运行。因此,根据您正在寻找的数据的形式,您可能只想直接访问paragraph.text并从那里解析出来。

当然,如果一个形状是一个图像(例如1.或2.),它们将在视觉上显示为文本,但不会有文本框架或任何文本。