GNU/Linux >> Tutoriales Linux >  >> Linux

extraer texto de archivos de MS word en python

Utilice el módulo docx nativo de Python . Aquí se explica cómo extraer todo el texto de un documento:

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

Ver el sitio Python DocX

Consulte también Textract, que extrae tablas, etc.

El análisis de XML con expresiones regulares invoca a cthulu. ¡No lo hagas!


La respuesta de benjamin es bastante buena. Acabo de consolidar...

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)

Podría hacer una llamada de subproceso a antiword. Antiword es una utilidad de línea de comandos de Linux para descargar texto de un documento de Word. Funciona bastante bien para documentos simples (obviamente pierde formato). Está disponible a través de apt, y probablemente como RPM, o puede compilarlo usted mismo.


Linux
  1. ¿Modificar un correo entrante de texto/sin formato a texto/html?

  2. ¿Cómo actualizar Python de 3.4.3 a 3.5?

  3. Importación del módulo Python desde Bash

  4. ¿Desinstalar python construido desde la fuente?

  5. Extracción de columnas del archivo de texto con diferentes delimitadores en Linux

Comando Grep en Linux (Buscar texto en archivos)

Bash scripting:cómo leer datos de archivos de texto

Cómo descargar archivos del servidor SFTP usando el script de python

Encuentra texto en archivos en Linux usando grep

Actualice Python de 2.6 a 2.7 en Centos 6.5

Cómo evitar que un proceso escriba archivos