Doc, rtf und txt reader in Python

8

Wie csv.reader() gibt es noch andere Funktionen, die .rtf , .txt , .doc Dateien in Python lesen können?

    
Rajeev 19.07.2010, 06:22
quelle

5 Antworten

9

Sie können eine Textdatei mit

lesen %Vor%

Versuchen Sie PyRTF für RTF-Dateien. 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. In diesem Artikel möchten wir zeigen, wie Skripts geschrieben werden, die mit Word interagieren.

    
Jesse Dhillon 19.07.2010, 06:33
quelle
4

csv ist ein spezifisches 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 lesen können, nachdem open ing sie eingegeben hat (Jesses Antwort gibt die Details an). CSV-Dateien sind in der Regel Textdateien, daher ist Ihre Unterscheidung nicht sehr genau.

Wie für RTF gibt es eine Reihe von ihnen. Siehe diese Antwort für Details. Die PyRTF-Sache, die Jesse erwähnte, scheint jedoch am beliebtesten zu sein.

Microsoft Word-Dokumentdateien (normalerweise mit dem Zusatz " .doc " versehen) sind ein weiteres Biest, 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. In dieser Frage werden einige besprochen. Es gibt auch die Möglichkeit, dass MS-Word das für Sie selbst erledigt. eine COM-Schnittstelle wie Jesse erwähnt hat.

    
Noufal Ibrahim 19.07.2010 06:46
quelle
4
%Vor%     
SystemOverflow LLC 17.08.2015 11:25
quelle
3

Ich hatte echte Kopfschmerzen, als ich versuchte, diese einfache Sache für Word- und Writer-Dokumente zu machen.

Es gibt eine einfache Lösung: Rufen Sie openoffice in der Befehlszeile auf, um Ihr Zieldokument in Text zu konvertieren, und laden Sie den Text dann in Python.

Andere Konvertierungswerkzeuge, die ich ausprobiert habe, erzeugten unzuverlässige Ausgaben, während andere Python oOo-Bibliotheken zu komplex waren.

Wenn Sie nur auf den Text zugreifen möchten, damit Sie ihn verarbeiten können, verwenden Sie dies in der Linux-Befehlszeile:

%Vor%

(rufen Sie es von Python aus, indem Sie den Subprozess verwenden, wenn Sie ihn automatisieren möchten).

Es wird eine Textdatei erstellen, die Sie einfach in Python laden können.

( Guthaben ) )

    
markling 08.05.2015 11:49
quelle
0

Es gibt ein python-Modul namens 'docx' , mit dem Sie .docx -Dateien lesen können. Sie werden jedoch nicht in der Lage sein, .doc zu lesen, weil es heutzutage fast überholt ist.

%Vor%

Sie finden es Hier zu Pypi.

    
Rugved Modak 16.02.2018 12:16
quelle

Tags und Links