Ich versuche derzeit, Text aus .ppt und .pptx-Dateien zu ziehen. Ich verwende erfolgreich python-pptx, um .pptx-Dateien zu verarbeiten, ABER gemäß its documentation, ".ppt-Dateien von PowerPoint 2003 und früher werden nicht funktionieren."python-pptx ".ppt" Handhabung arbeiten um
Wenn eine Itemvorgabe Erstellen diese Codezeile verwenden:
`prs = Presentation("Filepath\\presentation.ppt")`
ich die folgende Fehlermeldung:
`Traceback (most recent call last):
...shortened for brevity....
KeyError: "no relationship of type 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument' in collection"`
Ich glaube, dass dieser Fehler auftritt, weil Python-pptx nicht verarbeiten kann PPT-Dateien. Ich habe versucht, diese Situation drei Möglichkeiten zur Behebung:
- ich die
.save()
Funktion im Zusammenhang mit Python-pptx benutzen wollte, aber ich müsste eine Präsentation Artikel machen, das zu tun. Ich kann das nicht tun, weil ich python-pptx verwenden müsste, das die .ppt-Datei an erster Stelle nicht behandeln kann. - Nutzen Sie
os.rename(src, dst)
- Dies tat nicht Arbeit. Das Umbenennen der Datei funktioniert nicht wie "Speichern unter", wodurch die Datei beschädigt wird.
I verwendet
win32com
die Powerpoint-Anwendung zu öffnen, die PPT-Datei öffnen und dann die Datei als PPTX speichern und schließen sowohl die Datei und Anwendung.- Diese Methode funktionierte ABER es ist wirklich "klobig." (Siehe Code unten.)
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()
Meine Frage an die Community ist, ob es eine anspruchsvollere oder elegante Art und Weise, in der mein Dilemma zu lösen. Mein Dilemma ist, dass ich in der Lage sein möchte, Text von .ppt-Dateien zu analysieren, und python-pptx behandelt diese Dateitypen nicht.