Lettura / scrittura di file MS Word in Python
-
06-07-2019 - |
Domanda
È possibile leggere e scrivere file Word (2003 e 2007) in Python senza usare un oggetto COM?
So che posso:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
ma Word lo leggerà come un file HTML non come file .doc nativo.
Soluzione
Esaminerei IronPython che ha intrinsecamente accesso alle API di Windows / Office perché gira su .NET runtime .
Altri suggerimenti
Vedi python-docx , la sua documentazione ufficiale è disponibile qui .
Questo ha funzionato molto bene per me.
Se solo cosa leggere, è più semplice per utilizzare il comando linux soffice per convertirlo in testo, quindi caricare il testo in python:
doc (Word 2003 in questo caso) e docx (Word 2007) sono formati diversi, dove quest'ultimo di solito è solo un archivio di file XML e di immagini. Immagino che sia molto possibile scrivere su file docx manipolando il contenuto di quei file xml. Tuttavia non vedo come si possa leggere e scrivere in un file doc senza qualche tipo di interfaccia componente COM.