2017-12-08 9 views
0
import docx2txt 

my_text=docx2txt.process("file1.docx") 
print(my_text) 

, wenn ich die docx-Datei aus diesem Code lesen will es zeigt die folgende Fehlermeldung:Lese docx-Datei Fehler

File "/usr/lib/python3.5/zipfile.py", line 1093, in _RealGetContents 
    raise BadZipFile("File is not a zip file") 
zipfile.BadZipFile: File is not a zip file 
+0

docx-Dateien sind wirklich XML und einige Metadaten in einer Zip-Datei. Um es analysieren zu können, muss es zuerst entpackt werden. Zip behauptet, dass es die Datei nicht entzippen kann (es ist entweder keine echte docx-Datei oder es wurde so beschädigt, dass seine magische Zahl keine ZIP-komprimierte Datei anzeigt). Öffnet 'file1.docx' eigentlich in unzip/winzip/7zip und Office (wo es nicht im Office 97 Kompatibilitätsmodus steht)? – cowbert

+0

@cowbert Jetzt überprüfe ich, dass es korrupt war, deshalb funktioniert es nicht. Können Sie mir sagen, wie man doc-Datei lesen –

+0

Jay, können Sie Python-DOCX-Modul versuchen, Word-Dokumente durch den Import von DOCX zu lesen. – Anup

Antwort

2

Wie @cowbert im Kommentarbereich erwähnt, Ihre Datei wurde wahrscheinlich beschädigt oder Es ist in einem Zip-Format. Ihr bereitgestellter Code ist korrekt. Sie können auch textract verwenden, welche .docx-Dateien unterstützt: ist

import textract 
text = textract.process("path/to/file.extension") 

Dieses Paket oben auf mehrere Python-Pakete und andere Source-Bibliotheken gebaut. Nach der Installation wird several packeges (einschließlich docx2txt) standardmäßig mit diesem Paket installiert.

+0

ist TextRact in python3 funktioniert? –

+0

Ja, sollte es sein, einfach sicherstellen, 'pip' oder' easy_install' zu installieren, um den Text zu installieren – Ssein