web-dev-qa-db-fra.com

Lecture / écriture de fichiers MS Word en Python

Est-il possible de lire et d'écrire des fichiers Word (2003 et 2007) dans Python sans utiliser un objet COM?
Je sais que je peux:

f = open('c:\file.doc', "w")
f.write(text)
f.close()

mais Word le lira comme un fichier HTML et non comme un fichier .doc natif.

19
UnkwnTech

J'examinerais IronPython qui a intrinsèquement accès aux API Windows/Office car il s'exécute sur le runtime .NET.

7
auramo

Voir python-docx , sa documentation officielle est disponible ici .

Cela a très bien fonctionné pour moi.

39
Damian

Si vous ne savez que lire, il est le plus simple d'utiliser la commande linux soffice pour le convertir en texte, puis chargez le texte en python:

11
markling

doc (Word 2003 dans ce cas) et docx (Word 2007) sont des formats différents, où ce dernier n'est généralement qu'une archive de fichiers xml et d'images. J'imagine qu'il est très possible d'écrire dans des fichiers docx en manipulant le contenu de ces fichiers xml. Cependant, je ne vois pas comment vous pourriez lire et écrire dans un fichier doc sans un certain type d'interface de composant COM.

3
fuentesjr