Python vers Word, un script rapide

Manipuler des données avec Python, c’est rapide. Fournir un fichier Excel, c’est également possible, mais souvent insuffisant pour une diffusion sous forme de livrable.

Un résultat sous forme de Word est possible.

Le point de départ, c’est le dataframe. Il s’agit de l’objet produit par Pandas et permettant de manipuler facilement et rapidement vos données.

voici un exemple rapide permettant de créer un tableau de manière dynamique.

import pandas as pd
from docx import Document

# Créer un DataFrame de test
data = {'Nom': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'Ville': ['Paris', 'Londres', 'New York']}
df = pd.DataFrame(data)

# Créer un nouveau document
document = Document()

# Ajouter un titre
document.add_heading('Tableau de test', 0)

# Ajouter un tableau à partir du DataFrame
table = document.add_table(rows=1, cols=len(df.columns))
hdr_cells = table.rows[0].cells
for i, colname in enumerate(df.columns):
    hdr_cells[i].text = colname

for i in range(len(df)):
    row_cells = table.add_row().cells
    for j, val in enumerate(df.iloc[i]):
        row_cells[j].text = str(val)

# Enregistrer le document
document.save('test_table_df.docx')

Et vous arrivez rapidement à ce résultat :

Par la suite, il suffit d’intégrer ces routines dans la gestion de vos templates Word … et vous pouvez produire directement un livrable final à votre équipe. (et pas un fichier devant être manipuler avant de pouvoir être diffuser.