Wie csv.reader()
gibt es noch andere Funktionen, die .rtf
, .txt
, .doc
Dateien in Python lesen können?Doc, rtf und txt Leser in Python
Antwort
Sie können mit
txt = open("file.txt").read()
Versuchen PyRTF für RTF-Dateien eine Textdatei lesen. Ich würde denken, dass das Lesen von MS Word .doc-Dateien ziemlich unwahrscheinlich ist, es sei denn, Sie sind unter Windows und Sie können einige der nativen MS-Schnittstellen zum Lesen dieser Dateien verwenden. This article behauptet zu zeigen, wie Skripts geschrieben werden, die mit Word interagieren.
csv
ist ein bestimmtes Format, so dass Sie einen "Parser" benötigen, um es zu lesen. Dies bietet Ihnen das csv-Modul, wie Sie bereits erwähnt haben. Textdateien (normalerweise suffixed mit .txt
) haben kein festes "Format", so dass Sie sie nur nach open
lesen können (Jesses Antwort gibt die Details). CSV-Dateien sind in der Regel Textdateien, daher ist Ihre Unterscheidung nicht sehr genau.
Wie für RTF, gibt es eine Reihe von ihnen. Einzelheiten finden Sie unter this answer. Die PyRTF-Sache, die Jesse erwähnte, scheint jedoch am beliebtesten zu sein.
Microsoft Word-Dokumentdateien (in der Regel suffixed mit .doc
) sind ein anderes Tier, da das Format proprietär ist. Ich habe nicht viel Erfahrung mit Python-Konvertern, aber es gibt ein paar Kommandozeilen-Einsen (wie wvHTML), die einen einigermaßen anständigen Job machen. This question diskutiert etliche. Es gibt auch die Möglichkeit, dass MS-Word das für Sie selbst erledigt. eine COM-Schnittstelle wie Jesse erwähnt hat.
Ich hatte echte Kopfschmerzen, um diese einfache Sache für Word und Writer-Dokumente zu tun.
Es gibt eine einfache Lösung: Rufen Sie OpenOffice in der Befehlszeile auf, um das Zieldokument in Text zu konvertieren, und laden Sie den Text dann in Python.
Andere Konvertierungstools, die ich ausprobierte, erzeugten unzuverlässige Ausgaben, während andere Python oOo-Bibliotheken zu komplex waren.
Wenn Sie wollen einfach nur den Text, so dass Sie sie verarbeiten kann, verwenden Sie diese auf der Linux-Befehlszeile ein:
soffice --headless --convert-to txt:Text /path_to/document_to_convert.doc
(es aus Python nennen subprocess verwenden, wenn Sie es automatisieren möchten).
Es wird Textdatei erstellen, die Sie einfach in Python laden können.
(Credit)
import win32com.client
if tmpFile.endswith('.xml') or tmpFile.endswith('.doc') or tmpFile.endswith('.docx'):
app = win32com.client.Dispatch("Word.Application")
app.Visible = False
app.Documents.Open(tmpFile)
doc = app.ActiveDocument
docText = doc.Content.Text
print(docText)
doc.Close()
app.Quit()
Verwenden Sie nicht '|'. Dafür gibt es ein 'oder'. – FunkySayu
Es ist ein Python-Modul genannt 'docx', die Sie verwenden können, .docx Dateien zu lesen. Sie werden jedoch nicht in der Lage sein, .doc zu lesen, weil es heutzutage fast überholt ist.
from docx import Document
doc = Document(filepath)
# Reading Data
data = doc.paragraphs
tables = doc.tables
Sie können es Here auf Pypi finden.
- 1. Python libxml2 Leser und XML_PARSE_RECOVER
- 2. Shapefile-Leser in Python?
- 3. Ansicht .doc, .docx, .rtf, .ppt Datei im iphone mit Webview
- 4. iCalendar-Leser für Python?
- 5. Python-Liste von Leser
- 6. Dokumentunterstützung (rtf, doc, docx) für UWP/Windows 10 Mobile
- 7. Wie konvertiert man ODT nach DOC/RTF ohne openoffice.org
- 8. Python lesen txt und Druck
- 9. JTIP-Dateiformat-Leser für Python
- 10. jqGrid und JSON-Leser
- 11. Python Split Liste in txt
- 12. Python Wiki-Stil Doc-Generator
- 13. python txt Suppe Format
- 14. Vorgehensweise: MFC-Doc-Datei in Python anzeigen
- 15. Binärer Leser überspringt Anweisungen
- 16. txt lesen und in einer Matrix in Python
- 17. Wie kann ich ein RTF- oder DOC-Dokument in LaTeX konvertieren?
- 18. Wie können wir .rtf oder .doc als Flowdokument in WPF anzeigen?
- 19. Ausgabe von Unicode-Text in eine RTF-Datei in Python
- 20. Schreiben in TXT-Datei in Python
- 21. (string) Leser [0] vs Convert.ToString (Leser [0])
- 22. Python Check txt Variable Schleife
- 23. Load rtf in bindbare RichTexBox mvvm wpf
- 24. überspringen Wert in RTF
- 25. Freigabe eines Python-Pakets - sollten Sie doc und tests hinzufügen?
- 26. Transformieren EDF-Datei auf Python in. Txt
- 27. Ändern von .txt aus Python
- 28. Warum Java gepufferte Leser viele Zeilen in der Ausgabe große TXT-Datei als Eingabe verpasst?
- 29. HTML + CSS zu RTF (in PHP)?
- 30. Öffne Links von TXT-Datei in Python
verwandt: [Extrahieren von Text aus MS Word-Dateien in Python] (http://stackoverflow.com/q/125222/4279) – jfs