formateur informatique

Extraire sur plusieurs sources Excel par formule Python

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Extraire sur plusieurs sources 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 :


Rechercher dans plusieurs sources

Nous poursuivons nos pérégrinations avec les méthodes Python dans Excel. Ici, nous allons voir, comment sur la base d'un critère, il est possible d'extraire la ligne complète contenant l'information cherchée, sans connaître le tableau dans lequel elle se trouve.

Classeur Excel à télécharger
Nous proposons de baser l'étude sur un classeur Excel hébergeant trois tableaux. Plusieurs sources de recherche Excel

Nous découvrons un classeur Excel fait de quatre feuilles. Les trois dernières embarquent des tableaux archivant des véhicules de la marque correspondant aux noms respectifs des feuilles. La première feuille, celle de la capture, est la feuille d'extraction. Selon un choix d'immatriculation dans la cellule jaune, la ligne complète du véhicule concerné doit être extraite et importée juste en-dessous.

Pour cela, nous avons préalablement créé trois DataFrames Pythons en cellules B3, C3 et D3 pour représenter chaque tableau de chaque feuille : tb1=xl("tabl1",headers=True), tb2=xl("tabl2", headers=True), tb3=xl("tabl3", headers=True). Nous avions effectivement pris soin de nommer ces tableaux tabl1, tabl2 et tabl3.

Réunir les tableaux
Nous devons commencer par assembler les tableaux en mémoire. Et comme nous l'avons appris à l'occasion du volet précédent, nous devons exploiter la méthode concat de la librairie Pandas.
  • Cliquer sur la cellule E3 grisée pour la sélectionner,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Dès lors, construire la syntaxe suivante :
import pandas as lib
tbc=lib.concat([tb1, tb2, tb3]).reset_index(drop=True)


Nous obtenons un DataFrame et si vous cliquez sur son préfixe PY, vous obtenez un aperçu des trois tableaux ainsi réunis et sur lesquels nous allons pouvoir engager les recherches. Ce DataFrame, nous l'avons nommé tbc.

Attention la chronologie de construction doit respecter l'ordre des cellules sinon les objets appelés sont considérés comme inexistants !

Le critère de recherche
Maintenant, nous devons encapsuler le critère de recherche formulé par le biais de la cellule E5 sur l'immatriculation, dans un objet Python, dans la cellule voisine F5.
  • Cliquer sur la cellule F5 pour la sélectionner,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Commencer la syntaxe comme suit : cr=,
cr est le nom que nous souhaitons attribuer à notre objet représentant le critère dynamique.
  • Puis, cliquer sur la cellule E5 du critère, ce qui donne : cr=xl("E5"),
  • Valider la construction par le raccourci clavier CTRL + Entrée,
DataFrames Python et critère dynamique sur tableau Excel

Nous obtenons un objet Python qui représente le critère dynamique et que nous allons maintenant pouvoir exploiter.

Chercher selon le critère
Nous l'avons découverte à l'occasion du volet précédent, c'est la méthode Python loc qui permet de réaliser des recherches sur des données Excel. En paramètre, en exerçant l'objet du critère sur la colonne Immat, nous obtiendrons l'extraction précise souhaitée.
  • Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule D7,
  • Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
  • Puis, bâtir la syntaxe suivante :
tbc.loc[tbc['Immat.'] == cr, :].reset_index(drop=True)
  • Valider la formule par le raccourci clavier CTRL + Entrée,
  • A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
  • Dans les propositions, choisir Valeur Excel,
Extraction Excel sans connaître le tableau par formule Python

Nous obtenons bien l'extraction espérée sur la recherche de l'immatriculation, sans pour autant connaître par avance, le tableau qui la contient.

Souvenez-vous, nous l'avons appris à l'occasion du précédent chapitre, le symbole deux-points (:) en deuxième paramètre de la méthode Python loc, permet d'inclure toutes les colonnes d'origine à l'extraction.

Désormais, à chaque fois que vous changez d'immatriculation avec la liste déroulante, vous rapatriez automatiquement toutes les données du véhicule attaché.

 
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