Lectura / escritura de archivos de MS Word en Python
-
06-07-2019 - |
Pregunta
¿Es posible leer y escribir archivos de Word (2003 y 2007) en Python sin usar un objeto COM?
Sé que puedo:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
pero Word lo leerá como un archivo HTML, no como un archivo .doc nativo.
Solución
Buscaría en IronPython que intrínsecamente tiene acceso a las API de Windows / Office porque se ejecuta en tiempo de ejecución .NET .
Otros consejos
Ver python-docx , su documentación oficial está disponible aquí .
Esto me ha funcionado muy bien.
Si solo quiere leer, es más simple para usar el comando linux soffice para convertirlo en texto y luego cargar el texto en python:
doc (Word 2003 en este caso) y docx (Word 2007) son formatos diferentes, donde este último generalmente es solo un archivo de archivos xml e imagen. Me imagino que es muy posible escribir en archivos docx manipulando el contenido de esos archivos xml. Sin embargo, no veo cómo podría leer y escribir en un archivo doc sin algún tipo de interfaz de componente COM.