我正在尝试从.ppt和.pptx文件中提取文本。为了处理.pptx文件,我成功地使用了python pptx,但是根据its documentation,“.ppt文件来自powerpoint2003和更早版本将不能工作。”
使用以下代码行创建演示项目时:
`prs = Presentation("Filepath\\presentation.ppt")`
我收到以下错误:
^{pr2}$我认为发生这个错误是因为PythonPPTX无法处理.ppt文件。我尝试了三种方法来补救这种情况:
.save()
函数,但我必须创建一个表示项来实现这一点。我不能这样做,因为我必须使用python pptx,它首先不能处理.ppt文件。在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()
我向社会提出的问题是,是否有一种更复杂或更优雅的方式来解决我的困境。我的困境是,我希望能够解析.ppt文件中的文本,而python pptx无法处理这些文件类型。在
您的方法与我的方法相同,可能是在启动
python-pptx
处理之前作为批处理过程。我可能会使用IronPython来访问msapi,但本质上是相同的方法。在您可以使用一个Python库来处理LibreOffice或openoffice库作为替代(PyOO就是一个例子)。这可能有一个优点,即不需要Windows,但它本质上仍然是“编写”一个正在运行的Office应用程序来完成这项工作;它不是一个直接的库接口。这意味着它可能不太适合可靠运行的服务器端,如果这是您想要的。在
相关问题 更多 >
编程相关推荐