我目前正試圖從.ppt和.pptx文件中提取文本。我成功地使用python-pptx來處理.pptx文件,但是根據its documentation,「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"`
我認爲,這個錯誤發生,因爲蟒蛇,PPTX無法處理.ppt文件。我試圖糾正這種情況有三種方式:
- 我想用與Python-PPTX相關的
.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不處理這些文件類型。