Python - pptx - 文本读取

时间:2017-06-07 16:45:51

标签: python python-pptx

从表格和文本框架导入数据的代码:

 pres = Presentation(ppt_file)

    for slide in pres.slides:
        for shape in slide.shapes:
            if(shape.has_text_frame):
                for paragraph in shape.text_frame.paragraphs:
                    for run in paragraph.runs:
                        print run.text    

我有一张这样的幻灯片:

enter image description here

输出是:    正在运行的文字

正在从左侧框架或大框中读取文本,但不从右侧框架中读取文本。

1 个答案:

答案 0 :(得分:2)

报告None作为其形状类型的形状是组形状。您可以通过打印出XML来确认:

print(shape._element)  # should give something like 'CT_GroupShape'
print(shape._element.xml)  # should show XML that starts with `<p:grpSp>`

python-pptx尚不支持群组形状。如果您可以在PowerPoint中取消组合,则可以访问它们的文本。

更新:组形状没有文字。但是,您可以使用group_shape.shapes迭代组内的形状并访问其文本。请注意,组可以包含其他组。