Cartes et GPS Power Query

Importer depuis le web

Temps de lecture 4 minutes

Récupérer des données depuis le web est une nécessité dans bien des cas, comme pour récupérer les informations sur les départements.

Mais utiliser la technique du copier-coller est la plus mauvaise !!! Le plus simple et le plus propre, c'est de faire l'importation avec l'outil Power Query. Voici comment procéder.

Page Wikipedia des départements français

Comme souvent, la source d'information généralement utilisée c'est Wikipedia. Et ici, nous allons simplement chargée la page Wikipedia des départements français.

Page Wikipedia

Et dans cette page nous y trouvons le tableau des départements avec les numéros.

Tableau des départements français

MAIS ATTENTION ! Surtout NE PAS faire un copier coller du tableau dans Excel. Récupérer des données avec un copier-coller depuis le web va vous demander énormément de travail de mise en forme.

Par contre, en suivant les étapes suivantes, vous allez voir que l'importation des données se fait très facilement avec Power Query. Cet outil est intégré à Excel depuis la version de 2016.

Importer les données web dans Excel

Grâce à Power Query, il extrême facile de récupérer des données depuis un site web. Il suffit d'aller dans le menu Données > A partir du web

Menu Importer A Partir du Web

Et là, il vous suffit de coller l'adresse (l'URL) de la page web dans la fenêtre qui vient de s'afficher.

Coller ladresse de la page wikipédia

Après quelques secondes, la fenêtre suivante s'affiche et ça ne ressemble pas du tout à une page web 🤔🤨Mais qu'est-ce que c'est que ces informations ?

Fenetre dimportation dune page web

En fait, il s'agit tout simplement de toutes les tables qui sont présentes dans cette page. Et si le site est bien construit (comme c'est souvent le cas avec Wikipedia), il est facile de retrouver l'intitulé de la table qui nous intéresse.

En fait, le titre de la section correspond au titre de la table

Titre dans la section dans la page Wikipedia

Et donc, il nous suffit de sélectionner cette table dans la liste des tables du document.

Affichage de tous les tableaux contenus dans la page web

Mais ces données doivent être quelques peu manipuler avant d'être importées dans Excel. C'est pourquoi, nous allons cliquer sur le bouton Transformer les données.

Bouton Transformer les données

Transformer les données

Dans la page Wikipedia, beaucoup d'informations sont énumérées pour un seul et même département (le numéro, le nom, chef lieu, date de création, densité, ....). Nous, nous souhaitons seulement conserver le numéro et le nom. Voici comment nous allons procéder.

Etape 1 : Conserver les 2 premières colonnes

La première étape, fort simple va consister à ne conserver que les 2 premières colonnes.

  1. Sélectionnez les 2 premières colonnes avec la touche Control pour faire une multi-sélection.
  2. Faire un clic-droit sur l'entête des colonnes.
  3. Choisissez l'option Supprimer les autres colonnes
Conserver seulement les 2 premières colonnes

Etape 2 : Retirer les 3 premières lignes

Ensuite, les 3 premières lignes sont les nombreuses lignes de l'entête du tableau de la page web. Nous n'avons pas besoin de les conserver.

  1. Allez dans l'onglet Accueil
  2. Sélectionnez le menu Supprimer les lignes
  3. Puis Supprimer les lignes du haut
Supprimer les lignes du haut

Le résultat est le suivant

Saut de ligne dans une cellule

Etape 3 : Nettoyer les noms des départements

Alors, les données sont presque parfaite mais il faut supprimer les données qui sont entre-parenthèses. Mais on peut aussi constater qu'il y un saut de ligne après chaque nom de département. C'est ce caractère spécial qui va nous aider.

Nous allons séparer en 2 colonnes la colonne des noms de département en se basant sur le caractère saut de ligne

  1. Clic-droit dans l'entête de colonne
  2. Menu Fractionner la colonne
  3. Sous-menu Par délimiteurs ...
Menu Fractionner par délimiteur

Puis, dans la boite de dialogue qui s'affiche

  1. Sélectionner l'option Personnalisé pour choisir votre délimiteur
  2. Ouvrez le menu Options avancés
  3. Puis vous cochez la case Diviser en utilisant des caractères spéciaux
  4. Ensuite, sélectionnez Insérer un caractère spécial
  5. Enfin, choisissez l'option Retour chariot et saut de ligne
Paramètre pour fragmenter la colonne sur le saut de ligne

Avec cette manipulation, nous insérons automatiquement le code pour séparer sur le caractère saut de ligne (c'est trop facile avec Power Query) 😉

Code pour fractionner sur les sauts de ligne

Et le résultat est le suivant.

Résultat après fractionnement

Etape 4 : Supprimer la colonne rajoutée

Alors certes, nous avons isolé les noms des départements. Mais nous avons aussi rajoutée une colonne supplémentaire que nous devons supprimer. La procédure est très simple

  1. Clic-droit dans l'entête de colonne à supprimer
  2. Supprimer la colonne
Power Query supprimer une seule colonne

Etape 5 : Fermer et charger

Il ne reste plus qu'à transférer ces données dans une feuille Excel en cliquant sur le menu Accueil > Fermer et Charger

Menu Fermer et Charger de Power Query

Résultat dans Excel

ET VOILA ! En seulement quelques étapes, nous avons récupérer les départements avec leur numéros depuis la page web de Wikipedia 😉

Département français

Code complet de l'importation

Voici le code complet pour effectuer l'importation depuis le site Wikipedia

let
    Source = Web.Page(Web.Contents("https://fr.wikipedia.org/wiki/Liste_des_d%C3%A9partements_fran%C3%A7ais")),
    Data1 = Source{1}[Data],
    #"Premières lignes supprimées" = Table.Skip(Data1,2),
    #"En-têtes promus" = Table.PromoteHeaders(#"Premières lignes supprimées", [PromoteAllScalars=true]),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"En-têtes promus",{"Code", "Nom"}),
    #"Dernières lignes supprimées" = Table.RemoveLastN(#"Autres colonnes supprimées",3),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Dernières lignes supprimées", "Nom", Splitter.SplitTextByDelimiter("#(cr)#(lf)", QuoteStyle.Csv), {"Département Nom.1", "Département Nom.2"}),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Fractionner la colonne par délimiteur",{"Département Nom.2"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Colonnes supprimées",{{"Département Nom.1", "Département Nom"}}),
    #"Texte nettoyé" = Table.TransformColumns(#"Colonnes renommées",{{"Département Nom", Text.Clean, type text}}),
    #"Espaces supprimés" = Table.TransformColumns(#"Texte nettoyé",{{"Département Nom", Text.Trim, type text}})
in
    #"Espaces supprimés"

Téléchargement du fichier

Vous retrouvez tous les départements avec leurs numéros dans ce fichier

Related posts

Pourquoi le nom de Power Query ?

Frédéric LE GUEN

Combiner plusieurs sources de données

Frédéric LE GUEN

Conversion adresses en coordonnées GPS

Frédéric LE GUEN

Laissez un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.