Articles avec le tag ‘word’
Agréger des documents Word en python
Voici 2 petits scripts pour facilement agréger des documents Word d’un répertoire (ne fonctionne que sous windows…)
Pour ce faire, il faut d’abord avoir la liste des documents et les ordonner.
Pour éviter d’avoir à faire une interface graphique on va générer une liste en texte que l’on modifiera avant de lancer le traitement.
Script 1 (nommé _make_list.py par exemple ) :
import os
path = os.getcwd()
l = os.listdir(path)
f = open("%s/_todo.txt" % path, 'w')
print "Create _todo.txt"
for i in l:
if i.find(".docx") > 0:
print "\t%s" % i
f.write("%s\n" % i)
f.close()
Il génère le fichier _todo.txt connenant la liste des fichiers docx. Vous pouvez le modifier et l’ordonner comme vous le souhaitez.
Script 2 (nommé _agreg.py) :
import win32com.client
import os
path = os.getcwd()
l = os.listdir(path)
f = open("%s/_todo.txt" % path, 'r')
t = f.readlines()
f.close()
word = win32com.client.Dispatch("Word.Application") # Create new Word Object
doc = word.Documents.Add()
word.Visible = True
doc.Range(0,0).Select()
sel = word.Selection
for i in t:
file = path + "\\" + i.replace('\n', '')
print "Open file :", file
sel.InsertFile(file)
sel.Collapse(0)
sel.InsertBreak()
sel.Collapse(0)
Si vous avez Python installé mais aussi pywin32 (disponible sur http://sourceforge.net/projects/pywin32/files/pywin32/)
Vous verrez Word s’ouvrir et ajouter les documents un à un.