Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Corriger les espaces en trop
Les
méthodes Python sont multiples et variées. Elles permettent de réaliser des traitements très différents et productifs sur des
données de tableaux Excel. Nous allons découvrir ici une méthode permettant de corriger des anomalies d'alignement dans les cellules, à cause d'espaces parfois trop abondants en préfixe.
Classeur Excel à télécharger
Nous suggérons de baser la découverte sur un
classeur Excel existant.
Sur la gauche de la feuille, nous découvrons un tableau de deux colonnes dans lequel les alignements sont pour le moins approximatifs dans la première des deux colonnes. Sur la droite, nous trouvons une sorte de clone mais vide de données. Il est en attente de l'extraction des informations du premier tableau mais corrigé de ces anomalies d'alignements.
Le DataFrame
C'est une sorte de routine désormais, avant de commencer, nous devons encapsuler ce tableau de données dans un
DataFrame Python que nous pourrons ensuite piloter par formule grâce à des
méthodes spécifiques.
- Cliquer sur la case grisée au-dessus du tableau pour sélectionner la cellule B3,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Débuter alors la syntaxe comme suit : tab=,
tab est le nom que nous souhaitons attribuer à l'
objet Python devant représenter les données à traiter que nous devons encore sélectionner.
- Sélectionner toutes les données du tableau soit la plage de cellules B5:C21,
Cette action permet d'aboutir à la syntaxe suivante :
tab=xl("B5:C21",headers=True). Le tableau est désormais encapsulé et les lignes de titre sont considérées comme telles.
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons effectivement un DataFrame et si vous cliquez sur son préfixe
PY, vous obtenez un aperçu des données qu'il embarque.
Purger les espaces résiduels
Python propose une méthode tout à fait dédiée pour supprimer les espaces incohérents. Cette méthode se nomme
strip. Comme elle agit sur des textes, elle doit être appliquée sur la
propriété str d'un
DataFrame.
- Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule E5,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Commencer la syntaxe comme suit : tab["Nom"],
Nous indiquons vouloir agir sur la colonne des noms dans ce
DataFrame.
- Puis, poursuivre la syntaxe comme suit : .str.strip(),
Sur cette colonne textuelle des noms (.str), nous engageons la
méthode strip qui ne requiert aucun paramètre, pour supprimer les espaces en trop.
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons une série de données que nous souhaitons transformer en informations visuellement exploitables.
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Nous obtenons l'extraction de la colonne des noms, issue du premier tableau.
Mais comme vous pouvez le constater et comme par magie, tous les défauts d'alignement ont été automatiquement corrigés grâce à cette simple
méthode Python.
Rapatrier toutes les données
Une fois les espaces purgés sur les noms, nous souhaitons rapatrier les primes associées pour reconstruire un tableau normalisé complet.
- Cliquer de nouveau sur la cellule E5 pour la sélectionner,
- Dans la barre de formule, cliquer au début de la syntaxe,
- Appeler la méthode Python assign comme suit : tab.assign(Nom=tab['Nom'].str.strip()),
Attention de bien fermer la parenthèse de la
méthode assign en bout de syntaxe. Cette
méthode assign permet de créer une nouvelle colonne "Nom" nettoyée pour ensuite pouvoir recréer la
paire Nom / Prime. Et c'est ainsi que nous allons conclure la syntaxe en choisissant même l'ordre.
- A la fin de la syntaxe, énumérer les deux colonnes à restituer comme suit : [['Prime','Nom']],
Comme vous pouvez l'apprécier, grâce à ce subterfuge, en même temps que nous corrigeons les anomalies de la première colonne, nous rapatrions toutes les données attachées de la seconde mais qui devient la première.