formateur informatique

Comparer deux tableaux Excel par formule Python

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Comparer deux tableaux Excel par formule Python
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Comparer deux tableaux en Python

Ce n'est pas une fabuleuse méthode Python que nous allons présenter là. Elle se nomme compare. Elle permet de confronter visuellement les colonnes de plusieurs tableaux pour les comparer. Mais combinée à d'autres méthodes Python, à n'en point douter, elle peut livrer des résultats redoutables.

Classeur Excel à télécharger
Nous proposons d'appuyer l'étude sur un classeur Excel existant. Tableaux Excel à comparer par formule Python

Nous découvrons deux petits tableaux de personnes disposés côte à côte. Sur la droite, une grille d'extraction attend l'analyse.

Les DataFrames
La méthode compare de Python confronte les DataFrames ligne à ligne, ce qui signifie que seules les différences aux mêmes positions sont révélées. Les lignes identiques mais à des positions différentes ne sont pas considérées comme étant les mêmes.
  • Cliquer sur la première case grise au-dessus du premier tableau pour sélectionner la cellule B1,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Débuter la syntaxe comme suit : tb1=,
tb1 est le nom que nous souhaitons attribuer au premier DataFrame devant représenter le premier tableau.
  • Dès lors, sélectionner toutes les données du premier tableau, avec les entêtes,
Cette action conduit à la syntaxe suivante : tb1=xl("B3:C21",headers=True),
  • Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons bien un DataFrame. Et si vous cliquez sur son préfixe PY, vous obtenez un aperçu des données qu'il embarque.

DataFrame Python pour représenter le premier des deux tableaux Excel à comparer
  • Cliquer sur la seconde case grise au-dessus du second tableau pour sélectionner la cellule E1,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Débuter la syntaxe comme suit : tb2=,
  • Sélectionner toutes les données du deuxième tableau, avec les entêtes,
Cette action conduit à la syntaxe suivante : tb2=xl("E3:F21",headers=True),
  • Valider la formule par le raccourci clavier CTRL + Entrée,
Le second DataFrame est désormais en place. Comme nous l'avons dit, c'est sur ces deux objets représentatifs des deux tableaux que nous allons appliquer la méthode Python compare qu'il nous reste encore à découvrir.

Confronter les deux tableaux
Il est donc maintenant temps de dégainer cette méthode compare sur ces deux objets Python.
  • Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule H3,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Bâtir alors la syntaxe suivante : tb1.compare(tb2),
  • Puis, valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un nouveau DataFrame mais cette fois, nous souhaitons exploiter visuellement ces données.
  • A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
  • Dans les propositions, choisir Valeur Excel,
Extraction de comparaison entre deux tableaux Excel

Nous obtenons un tableau restreint en nombre de lignes, semblant indiquer que des rangées identiques ont été décelées et supprimées par cette méthode Python compare. Mais ce tableau déborde d'une colonne en raison de celle des positons d'origine qui apparaît en préfixe.
  • Dans la barre de formule, cliquer à la toute fin de la syntaxe,
  • Appeler la méthode reset_index comme suit : tb1.compare(tb2).reset_index(drop=True),
Nous l'avons expliquée à l'occasion du sujet précédent. Avec le paramètre drop réglé à True, elle permet de ne pas ajouter cette colonne des indices en préfixe.
  • Valider la nouvelle formule par le raccourci clavier CTRL + Entrée,
Cette fois c'est bien une comparaison stricte que nous obtenons selon les règles que nous avons expliquées en préambule.

Comparer 2 tableaux Excel par formule Python

Dans la mesure où des lignes strictement identiques se trouvaient sur la même position entre les deux tableaux, elles sont supprimées à l'extraction. En revanche, lorsque les positions ne coïncidaient pas, elles persistent. Mais comme les colonnes sont rapprochées par paires, elles sont plus faciles à comparer visuellement ou à l'aide d'une mise en forme conditionnelle pourquoi pas.

Important : Les valeurs "self" et "other" que vous voyez après avoir utilisé la méthode compare sont des indicateurs ajoutés par pandas pour montrer les différences entre les deux DataFrames. Voici ce qu'elles signifient :
  • self : représente les valeurs du premier DataFrame (tb1).
  • other : représente les valeurs du deuxième DataFrame (tb2).
 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn