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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top