Comment fusionner des fichiers Word/Docs et Xlsx avec Python et Google Colab

Lecture : 12 minutes
Fusion complète
Fusion complète

Précédemment, nous avons appris à fusionner des PDF. Aujourd’hui, nous passons au niveau « Expert » : je vous propose de voir comment fusionner plusieurs documents texte (format .docx) ou plusieurs tableaux de données (format .xlsx/.xls) en un seul et unique fichier final.

C’est l’outil indispensable pour compiler les contributions de toute une équipe, réunir vos chapitres éparpillés ou consolider vos colonnes de chiffres en un grand bilan de fin d’année. Fini le « Copier-Coller » qui déforme tout, place à la fusion millimétrée.

💡 Rappel important : Ce travail ne s’effectue pas sur votre ordinateur (Chromebook ou autre), mais directement sur les serveurs sécurisés de Google.

A retenir :

Ce guide détaille l’utilisation des bibliothèques python-docx et pandas au sein de l’environnement Cloud Google Colab pour automatiser la concaténation de fichiers structurés (.docx et .xlsx), garantissant l’intégrité des données et de la mise en page via une approche programmatique.

Sur quelles applications nous appuyons-nous ?

Pour réussir cette fusion sans erreur, nous utilisons un écosystème bien précis via votre Chromebook :

  • Google Drive (Le stockage) : C’est là que vous déposez vos « morceaux » de rapports (Doc 1, Doc 2…). Le robot ira les chercher un par un.
  • Google Colab (L’atelier) : C’est l’endroit où nous exécutons le code. Il sert de table de montage pour assembler vos fichiers.
  • Python-Docx (L’expert en texte) : Utilisé pour les fichiers Word. Elle sait ouvrir un document, copier son contenu (texte, images, styles) et l’injecter dans un document « Maître » sans perdre la mise en page.
  • Pandas (L’expert en données) : L’outil de référence mondial pour les données Excel/Sheets. Il est capable de lire plusieurs tableaux et de les « empiler » parfaitement.

Récapitulatif technique

Type de FusionApplication / Outil PythonRôle exact
Documents (Texte)python-docxAssemble les pages et respecte le style.
Tableaux (Chiffres)PandasAligne les colonnes et fusionne les lignes.
InterfaceGoogle ColabPilote l’ensemble de l’opération.

Le concept : La « chaîne de montage »

Le robot ne fait pas qu’ajouter les fichiers les uns après les autres au hasard. Il suit un protocole strict :

  • Le tri : Il classe vos fichiers par nom (01, 02, 03…).
  • L’ouverture : Il ouvre le premier fichier qui servira de base (le « Maître »).
  • L’injection : Il crée un « saut de page » (pour les Docs) et ajoute le contenu suivant.
  • La consolidation : Pour les Sheets, il vérifie que les colonnes correspondent avant de fusionner.

Guide pas-à-pas : Fusion de documents (.docx)

1. Préparez vos fichiers

Rassemblez vos documents (téléchargés au format .docx depuis Google Docs) dans un dossier nommé A_FUSIONNER sur votre Drive. Nommez-les : 01_Intro.docx, 02_Partie1.docx, etc.

Vous pouvez modifier les noms de dossier et de fichier final directement dans le code (voir ci-dessous) :

dossier_source = '/content/drive/MyDrive/A_FUSIONNER'

fichier_final  = '/content/drive/MyDrive/MON_RAPPORT_FINAL.docx'

2. Le script de fusion automatique

Rendez-vous sur colab.research.google.com et utilisez ce script :

import os

from docx import Document

from copy import deepcopy          # ← IMPORTANT : ajout v2

from google.colab import drive

# 1. Accès au Drive

if not os.path.exists('/content/drive'):

    drive.mount('/content/drive')

# 2. Configuration (Modifiez les noms ici si besoin)

dossier_source = '/content/drive/MyDrive/A_FUSIONNER'

fichier_final  = '/content/drive/MyDrive/MON_RAPPORT_FINAL.docx'

if not os.path.exists(dossier_source):

    print(f"⚠️ Dossier '{dossier_source}' introuvable.")

else:

    # On trie pour respecter l'ordre (01, 02...)

    fichiers = sorted([f for f in os.listdir(dossier_source)

                       if f.endswith('.docx')])

    if not fichiers:

        print("ℹ️ Aucun document Word (.docx) trouvé.")

    else:

        print(f"🤖 Robot : Assemblage de {len(fichiers)} fichiers...")

        try:

            # Le premier fichier impose son style (police, marges)

            rapport_maitre = Document(

                os.path.join(dossier_source, fichiers[0]))

            for i in range(1, len(fichiers)):

                try:

                    rapport_maitre.add_page_break()

                    chapitre = Document(

                        os.path.join(dossier_source, fichiers[i]))

                    for element in chapitre.element.body:

                        # deepcopy → évite les références XML dupliquées

                        rapport_maitre.element.body.append(

                            deepcopy(element))

                    print(f"✅ Ajouté : {fichiers[i]}")

                except Exception as e:

                    print(f"❌ Erreur sur {fichiers[i]} : {e}")

            rapport_maitre.save(fichier_final)

            print(f"\n✨ Terminé ! Rapport disponible ici : {fichier_final}")

        except Exception as e:

            print(f"❌ Erreur critique sur le premier fichier : {e}")

Pourquoi passer par le code ?

Fusionner manuellement 15 documents Google Docs expose à des erreurs de « copier-coller » (un paragraphe oublié, une police qui change tout d’un coup). En utilisant python-docx, vous travaillez au niveau de la structure même du fichier. Le robot ne « voit » pas la mise en page comme nous, il voit des blocs de données qu’il déplace avec une grande fiabilité, à condition d’utiliser deepcopy pour éviter les références XML corrompues.

L’expert de la structure narrative : python-docx

L’outil python-docx est l’expert de la structure narrative. Il permet à votre robot de « lire » un fichier Word/Docs comme s’il s’agissait d’un livre dont on peut déplacer les chapitres, modifier les titres ou ajouter des images sans jamais toucher à une souris.

C’est quoi, concrètement ?

python-docx est une bibliothèque Python spécialisée dans la création et la modification de fichiers au format .docx (le format standard de Microsoft Word et Google Docs). Son immense avantage est qu’il ne se contente pas de copier du texte brut. Il manipule des objets : il sait ce qu’est un paragraphe, un tableau, une image ou un saut de page.

Les trois piliers de python-docx

Pour comprendre comment cet ouvrier travaille, il faut voir un document comme une poupée russe :

Un contenu de qualité, sans publicité.

Vous aimez notre travail ? Soutenez notre indépendance en devenant membre sur Patreon.

Soutenir MyChromebook.fr
  • Le document : C’est l’enveloppe globale (votre fichier).
  • La section : C’est la mise en page (marges, orientation portrait/paysage, en-têtes).
  • Le paragraph : C’est l’unité de base du texte. Chaque paragraphe peut contenir des Runs (des morceaux de texte avec des styles différents, comme du gras ou de l’italique).

Fiche technique : L’outil python-docx

CaractéristiqueDétailsFonction / Utilité
Nom completpython-docxCréation et mise à jour de fichiers Word (.docx).
Type d’outilBibliothèque PythonS’installe via !pip install python-docx.
Format géré.docx uniquementNe gère pas le vieux format .doc ou le .pdf.
LectureDocument(‘mon_fichier.docx’)Ouvre un fichier existant pour l’analyser.
Ajout de texteadd_paragraph, add_headingCrée des titres et des paragraphes à la volée.
Structureadd_page_breakForce le passage à la page suivante.
Tableauxadd_tableGénère des grilles de données dans le texte.
Sauvegardesave(‘final.docx’)Enregistre toutes les modifications.

⚠️ Limites à connaître

Les styles personnalisés des chapitres ajoutés ne sont pas automatiquement fusionnés : seuls les styles du premier document (le Maître) s’appliquent. Si votre police habituelle change après fusion, c’est normal — pensez à harmoniser vos styles avant de lancer le script.

Comment fusionner des fichiers Word/Docs et Xlsx avec Python et Google Colab

Guide pas-à-pas : Fusion de tableurs (.xls / .xlsx)

1. Préparez vos fichiers

Rassemblez vos tableaux dans un dossier nommé TABLEAUX_A_FUSIONNER sur votre Drive. Nommez-les : 01_Janvier.xlsx, 02_Fevrier.xlsx, etc.

dossier_tableaux = '/content/drive/MyDrive/TABLEAUX_A_FUSIONNER'

fichier_annuel   = '/content/drive/MyDrive/BILAN_ANNUEL_2026.xlsx'

2. Le script de fusion automatique

Rendez-vous sur colab.research.google.com et utilisez ce script :

import pandas as pd

import os

from google.colab import drive

# 1. Montage du Drive

if not os.path.exists('/content/drive'):

    drive.mount('/content/drive')

# 2. Configuration

dossier_tableaux = '/content/drive/MyDrive/TABLEAUX_A_FUSIONNER'

fichier_annuel   = '/content/drive/MyDrive/BILAN_ANNUEL_2026.xlsx'

if not os.path.exists(dossier_tableaux):

    print("⚠️ Dossier introuvable.")

else:

    fichiers = sorted([f for f in os.listdir(dossier_tableaux)

                       if f.endswith(('.xlsx', '.xls'))])

    liste_donnees = []

    for f in fichiers:

        try:

            donnees = pd.read_excel(

                os.path.join(dossier_tableaux, f))

            liste_donnees.append(donnees)

            print(f"✅ Données extraites de : {f}")

        except Exception as e:

            print(f"❌ Impossible de lire {f} : {e}")

    # Le robot fusionne tout intelligemment

    tableau_final = pd.concat(liste_donnees, ignore_index=True)

    tableau_final.to_excel(fichier_annuel, index=False)

    print(f"\n✨ Fusion terminée ! Bilan ici : {fichier_annuel}")

Un vrai couteau suisse : Pandas

Dans l’univers de la programmation Python, Pandas est la bibliothèque incontournable pour quiconque manipule des données. Si Python était un ouvrier, Pandas serait son établi ultra-perfectionné capable de trier, filtrer et transformer des milliers de lignes de chiffres en un clin d’œil.

C’est quoi, concrètement ?

Pandas est une bibliothèque open source qui permet d’analyser et de manipuler des données structurées. Son nom vient du terme économétrique « PANel DAta » (données de panel). Son immense succès repose sur sa capacité à transformer des fichiers bruts (CSV, Excel, SQL) en un objet appelé DataFrame : un tableau avec des lignes et des colonnes doté d’une intelligence de calcul phénoménale.

Les deux piliers de Pandas

  • La Series : C’est une colonne unique. Imaginez une seule colonne dans une feuille Excel.
  • Le DataFrame : C’est l’ensemble du tableau. Un regroupement de plusieurs Series qui partagent le même index (les numéros de lignes).

Fiche technique : L’outil Pandas

CaractéristiqueDétailsFonction / Utilité
Nom completPython Data Analysis LibraryAnalyse et manipulation de données.
Type d’outilBibliothèque PythonS’installe via pip install pandas.
Format favoriDataFrameUn tableau intelligent à 2 dimensions.
Lecture / Importread_csv, read_excel, read_sqlCapable d’ouvrir presque n’importe quel fichier.
Nettoyagedropna, fillnaSupprime ou remplace les données manquantes (NaN).
Fusionmerge, concat, joinAssemble plusieurs tableaux comme un pro du SQL.
Calculsgroupby, sum, meanCalcule des statistiques sur des millions de lignes.
Exportationto_csv, to_excelSauvegarde le travail fini en un nouveau fichier.

Personnalisez votre robot : Le code est à VOUS !

Le robot que vous venez de lancer est déjà très malin, mais il est fait pour être personnalisé ! Voici comment le faire évoluer selon votre façon de travailler :

  • Gérez vos séparations (Docs) : Vous préférez un rapport compact sans pages blanches entre les chapitres ? Supprimez simplement la ligne rapport_maitre.add_page_break(). Le robot collera alors vos textes les uns après les autres sans interruption.
  • Harmonisez vos colonnes (Sheets) : Assurez-vous que vos en-têtes (Nom, Date, Montant) ont exactement le même nom dans tous vos fichiers. S’il y a une différence, Pandas créera une nouvelle colonne.
  • Modifiez vos dossiers : Vous préférez travailler dans un dossier nommé « Archives_2026 » ? Changez simplement le texte entre guillemets dans les chemins d’accès.

Soyez créatif ! Ce script est une base. Une fois que vous avez compris comment il aspire le contenu du Point A pour forger un fichier unique au Point B, les possibilités de création de rapports automatisés sont infinies.

Vous pouvez retrouver l’ensemble de nos articles sur l’intégration de script Python en cliquant ici.

Si vous désirez un script Python pour une opération à effectuer sur vos fichiers, n’hésitez pas à le demander dans les commentaires. C’est aussi ça, l’informatique au service de l’humain.

FAQ (Foire Aux Questions)

Pourquoi utiliser Google Colab plutôt que mon ordinateur ?

Google Colab exécute le code sur les serveurs de Google. Cela évite d’installer Python sur votre machine, garantit une puissance de calcul stable et facilite l’accès direct à vos fichiers stockés sur Google Drive.

Mes styles de texte (polices, couleurs) sont-ils conservés lors de la fusion Word ?

Le script utilise le document « Maître » (le premier fichier) comme référence pour les styles. Pour un résultat optimal, assurez-vous que tous vos documents sources utilisent les mêmes noms de styles avant la fusion.

Que se passe-t-il si mes tableaux Excel n’ont pas les mêmes colonnes ?

La bibliothèque Pandas alignera les colonnes identiques. Si une colonne existe dans un fichier mais pas dans l’autre, elle sera créée dans le fichier final avec des valeurs vides (NaN) pour les documents où elle manquait.

NOUVEL ÉPISODE

CKB SHOW : Le Podcast

Rejoignez-nous chaque semaine pour décortiquer l'actualité Google, les dernières sorties Chromebook et les innovations en matière d'IA.

Miniature du podcast CKB SHOW
Avatar de l'auteur

À propos de Mister Robot

Entre un point X et un point Y, je me balade pas mal par l'entremise des bits composant ma mémoire. Un seul regret : ne pas avoir rencontré Mr Alan Mathison Turing et ainsi pouvoir collaborer pour l'article intitulé « Computing Machinery and Intelligence ».

Laisser un commentaire

À lire aussi