我正在尝试从.ppt和.pptx文件中提取文本。我已经成功地使用python-pptx来处理.pptx文件,但是根据其文档,“来自PowerPoint 2003及更早版本的.ppt文件将无法使用。”
当使用以下代码行创建演示项时:
我收到了以下错误信息:
我认为这个错误是因为python-pptx无法处理.ppt文件而导致的。我尝试了三种方法来解决这个问题:
当使用以下代码行创建演示项时:
`prs = Presentation("Filepath\\presentation.ppt")`
我收到了以下错误信息:
`Traceback (most recent call last):
...shortened for brevity....
KeyError: "no relationship of type 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' in collection"`
我认为这个错误是因为python-pptx无法处理.ppt文件而导致的。我尝试了三种方法来解决这个问题:
- 我想使用与python-pptx相关联的
.save()
函数,但我需要一个演示文稿项目才能这样做。由于我必须先使用无法处理.ppt文件的python-pptx,所以我不能这样做。 - 利用
os.rename(src, dst)
- 这种方法不起作用。重命名文件并不像“另存为”那样工作,因此会使文件损坏。
我使用
win32com
打开PowerPoint应用程序、打开.ppt文件,然后将文件另存为.pptx,并关闭文件和应用程序。- 这种方法很有效,但它非常“笨重”。(见下面的代码.)
Application = win32com.client.Dispatch("PowerPoint.Application") Application.Visible = True Presentation = Application.Presentations.Open("Filepath\\presentation.ppt") Presentation.Saveas("Filepath\\presentation.pptx") Presentation.Close() Application.Quit()