GNU/Linux >> Belajar Linux >  >> Linux

mengekstraksi teks dari file MS word dengan python

Gunakan modul docx asli Python . Berikut cara mengekstrak semua teks dari dokumen:

document = docx.Document(filename)
docText = '\n\n'.join(
    paragraph.text for paragraph in document.paragraphs
)
print(docText)

Lihat situs Python DocX

Lihat juga Textract yang mengeluarkan tabel dll.

Parsing XML dengan regex memanggil cthulu. Jangan lakukan itu!


jawaban benjamin cukup bagus. Saya baru saja mengkonsolidasikan...

import zipfile, re

docx = zipfile.ZipFile('/path/to/file/mydocument.docx')
content = docx.read('word/document.xml').decode('utf-8')
cleaned = re.sub('<(.|\n)*?>','',content)
print(cleaned)

Anda dapat melakukan panggilan subproses ke antiword. Antiword adalah utilitas baris perintah linux untuk membuang teks dari dokumen kata. Bekerja cukup baik untuk dokumen sederhana (jelas kehilangan pemformatan). Ini tersedia melalui apt, dan mungkin sebagai RPM, atau Anda dapat mengompilasinya sendiri.


Linux
  1. Ubah Surat Masuk Dari Teks/biasa Menjadi Teks/html?

  2. Bagaimana Cara Memperbarui Python Dari 3.4.3 Menjadi 3.5??

  3. Mengimpor modul Python dari Bash

  1. Copot pemasangan python yang dibuat dari sumber?

  2. Mengekstraksi data dari tabel HTML

  3. Menjalankan skrip Python dari PHP

  1. Cara mengunduh File dari server SFTP Menggunakan skrip python

  2. Mengekstrak kolom dari file teks dengan pembatas berbeda di Linux

  3. Mengekstrak file msi menggunakan Linux