Lier Département et Code Postal

Lier Département et Code Postal
Dernière mise à jour le 05/02/2024
Temps de lecture : 4 minutes

Comment lier département et code postal à partir de deux sources de données ?

  • Nous allons récupérer le fichier csv officiel des codes postaux français
  • Puis nous allons l'associer à la page Wikipedia des départements et régions de France

Récupérer le fichier officiel des codes postaux

Aujourd'hui, de plus en plus de données publiques sont accessibles gratuitement sur des sites officiels. C'est le cas des codes postaux depuis l'adresse suivante.

Lien de telechargement pour le code postal

Importer le fichier dans Excel

On ne le dira jamais assez ; ne double-cliquez JAMAIS sur un fichier csv pour l'ouvrir. Certes, c'est le moyen le plus rapide pour ouvrir le fichier mais ensuite, vous allez devoir retravailler le fichier pour le rendre exploitable. Et ça prend toujours beaucoup de temps. ????????

C'est pour cela qu'aujourd'hui, la méthode d'importation d'un fichier csv (et pour toute importation d'ailleurs) c'est d'utiliser Power Query.

C'est quoi Power Query ?

Power Query est l'outil moderne d'importation et de transformation des données. Son utilisation est très simple et ne nécessite pas de connaissance avancée d'Excel ni de connaissance en programmation.

Si vous voulez vous former à l'utilisation de Power Query, je vous ai conçu cette formation sur Udemy très simple d'accès (la vidéo d'importation d'un fichier csv est gratuite ????)

Formation Power Query Udemy

Les étapes d'importation du fichier CSV

Afin de ne pas surcharger cet article, je vous écris le script d'importation du fichier csv des codes postaux dans Power Query. La technique est expliquée dans la formation (exporter un script).

let
    Source = Csv.Document(File.Contents("\Downloads\laposte_hexasmal.csv"),[Delimiter=";", Columns=6, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"En-têtes promus",{"Code_postal", "Nom_commune", "coordonnees_gps"}),
    #"Premiers caractères insérés" = Table.AddColumn(#"Autres colonnes supprimées", "Départements", each Text.Start([Code_postal], 2), type text),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Premiers caractères insérés", "coordonnees_gps", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Latitude", "Langitude"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"Fractionner la colonne par délimiteur",{"Départements", "Code_postal", "Nom_commune", "Latitude", "Langitude"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Colonnes permutées",{{"Code_postal", "Code postal"}, {"Nom_commune", "Nom commune"}}),
    #"Lignes triées" = Table.Sort(#"Colonnes renommées",{{"Départements", Order.Ascending}, {"Code postal", Order.Ascending}, {"Nom commune", Order.Ascending}}),
    #"Doublons supprimés" = Table.Distinct(#"Lignes triées")
in
    #"Doublons supprimés"

La seule chose à modifier, c'est le chemin d'accès à la première étape qui doit reprendre l'emplacement du fichier sur votre ordinateur.

Et nous obtenons le résultat suivant dans Excel :

Liste des villes et code postal france

MAIS, le fichier est incomplet. Il faut rajouter Département et Région pour les lier au code postal.

Nouvelle requête depuis le web

Pour compléter le fichier, nous allons récupérer les informations manquantes depuis cette page de Wikipedia. Là encore, nous allons utiliser Power Query.

Mais ici, nous allons créer cette nouvelle requête dans le même classeur que celui qui contient déjà la requête d'importation du fichier csv. Nous aurons donc 2 requêtes dans le même classeur et ça c'est très important pour la suite.

Menu pour rajouter une requete dimportation depuis le web

Et là, il faut indiquer l'adresse de la page Wikipedia que nous voulons importer.

Insertion de ladresse de la page de Wikipedia

Les étapes d'importation de cette page ont été décrites dans l'article sur l'importation depuis le web.

Croiser les deux requêtes

A ce stade, nous avons 2 requêtes issues de 2 sources différentes ; le fichier csv et une page web.

Maintenant, quand on regarde le résultat des 2 requêtes, on voit que nous avons le numéro du département présent dans les 2 requêtes.

Colonnes communes entre les 2 requetes

Nous allons nous servir de cette information pour croiser les requêtes. Dans Power Query, on parle de fusionner les requêtes depuis le menu Accueil. Fusionner les requêtes, c'est un peu comme faire un RECHERCHEV avec Excel.

Menu fusionner les requetes

Dans la boîte de dialogue suivante, il suffit de sélectionner les 2 requêtes à fusionner ainsi que de sélectionner les colonnes communes entre ces requêtes.

Parametres de fusion entre les 2 requetes

Le résultat, c'est l'ajout d'une colonne qui contient chaque enregistrement correspondant à l'égalité.

Nouvelle colonne ajouter a la requete initiale

En cliquant sur l'icône avec les 2 flèches, on affiche ainsi le nom des colonnes de la seconde requête. Il suffit de sélectionner les requêtes que nous voulons retourner.

Selection des colonnes a retourner

Le résultat est le suivant dans Power Query :

Resultat de la fusion entre les 2 sources

Après chargement dans Excel, on obtient le fichier des codes postaux suivant :

Fichier de tous les code postal en France

Vous trouverez des informations complémentaires sur l'importation de données à partir de sources différentes sur le site de Microsoft.

6 Comments

  1. Daniel Pomerleau
    12/07/2022 @ 18:38

    Bonjour, Y a t'il une base de données pour le Québec ?

    Reply

    • Frédéric LE GUEN
      22/07/2022 @ 21:56

      Je suis preneur si vous en avez une

      Reply

  2. Greg
    07/12/2021 @ 15:05

    Cette vidéo est très bien merci infiniment !

    Reply

    • Frédéric LE GUEN
      09/12/2021 @ 11:11

      Merci bcp

      Reply

  3. Younes
    07/07/2019 @ 23:50

    Merci pour le cour, sauf que la vidéo n'est pas accessible
    merci

    Reply

    • Frédéric LE GUEN
      08/07/2019 @ 18:00

      Merci pour ce message mais la vidéo n'est plus très pédagogique. Il faut que je la refasse mais je n'ai vraiment pas de temps pour m'y mettre

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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

Lier Département et Code Postal

Reading time: 4 minutes
Dernière mise à jour le 05/02/2024

Comment lier département et code postal à partir de deux sources de données ?

  • Nous allons récupérer le fichier csv officiel des codes postaux français
  • Puis nous allons l'associer à la page Wikipedia des départements et régions de France

Récupérer le fichier officiel des codes postaux

Aujourd'hui, de plus en plus de données publiques sont accessibles gratuitement sur des sites officiels. C'est le cas des codes postaux depuis l'adresse suivante.

Lien de telechargement pour le code postal

Importer le fichier dans Excel

On ne le dira jamais assez ; ne double-cliquez JAMAIS sur un fichier csv pour l'ouvrir. Certes, c'est le moyen le plus rapide pour ouvrir le fichier mais ensuite, vous allez devoir retravailler le fichier pour le rendre exploitable. Et ça prend toujours beaucoup de temps. ????????

C'est pour cela qu'aujourd'hui, la méthode d'importation d'un fichier csv (et pour toute importation d'ailleurs) c'est d'utiliser Power Query.

C'est quoi Power Query ?

Power Query est l'outil moderne d'importation et de transformation des données. Son utilisation est très simple et ne nécessite pas de connaissance avancée d'Excel ni de connaissance en programmation.

Si vous voulez vous former à l'utilisation de Power Query, je vous ai conçu cette formation sur Udemy très simple d'accès (la vidéo d'importation d'un fichier csv est gratuite ????)

Formation Power Query Udemy

Les étapes d'importation du fichier CSV

Afin de ne pas surcharger cet article, je vous écris le script d'importation du fichier csv des codes postaux dans Power Query. La technique est expliquée dans la formation (exporter un script).

let
    Source = Csv.Document(File.Contents("\Downloads\laposte_hexasmal.csv"),[Delimiter=";", Columns=6, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"En-têtes promus",{"Code_postal", "Nom_commune", "coordonnees_gps"}),
    #"Premiers caractères insérés" = Table.AddColumn(#"Autres colonnes supprimées", "Départements", each Text.Start([Code_postal], 2), type text),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(#"Premiers caractères insérés", "coordonnees_gps", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Latitude", "Langitude"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"Fractionner la colonne par délimiteur",{"Départements", "Code_postal", "Nom_commune", "Latitude", "Langitude"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Colonnes permutées",{{"Code_postal", "Code postal"}, {"Nom_commune", "Nom commune"}}),
    #"Lignes triées" = Table.Sort(#"Colonnes renommées",{{"Départements", Order.Ascending}, {"Code postal", Order.Ascending}, {"Nom commune", Order.Ascending}}),
    #"Doublons supprimés" = Table.Distinct(#"Lignes triées")
in
    #"Doublons supprimés"

La seule chose à modifier, c'est le chemin d'accès à la première étape qui doit reprendre l'emplacement du fichier sur votre ordinateur.

Et nous obtenons le résultat suivant dans Excel :

Liste des villes et code postal france

MAIS, le fichier est incomplet. Il faut rajouter Département et Région pour les lier au code postal.

Nouvelle requête depuis le web

Pour compléter le fichier, nous allons récupérer les informations manquantes depuis cette page de Wikipedia. Là encore, nous allons utiliser Power Query.

Mais ici, nous allons créer cette nouvelle requête dans le même classeur que celui qui contient déjà la requête d'importation du fichier csv. Nous aurons donc 2 requêtes dans le même classeur et ça c'est très important pour la suite.

Menu pour rajouter une requete dimportation depuis le web

Et là, il faut indiquer l'adresse de la page Wikipedia que nous voulons importer.

Insertion de ladresse de la page de Wikipedia

Les étapes d'importation de cette page ont été décrites dans l'article sur l'importation depuis le web.

Croiser les deux requêtes

A ce stade, nous avons 2 requêtes issues de 2 sources différentes ; le fichier csv et une page web.

Maintenant, quand on regarde le résultat des 2 requêtes, on voit que nous avons le numéro du département présent dans les 2 requêtes.

Colonnes communes entre les 2 requetes

Nous allons nous servir de cette information pour croiser les requêtes. Dans Power Query, on parle de fusionner les requêtes depuis le menu Accueil. Fusionner les requêtes, c'est un peu comme faire un RECHERCHEV avec Excel.

Menu fusionner les requetes

Dans la boîte de dialogue suivante, il suffit de sélectionner les 2 requêtes à fusionner ainsi que de sélectionner les colonnes communes entre ces requêtes.

Parametres de fusion entre les 2 requetes

Le résultat, c'est l'ajout d'une colonne qui contient chaque enregistrement correspondant à l'égalité.

Nouvelle colonne ajouter a la requete initiale

En cliquant sur l'icône avec les 2 flèches, on affiche ainsi le nom des colonnes de la seconde requête. Il suffit de sélectionner les requêtes que nous voulons retourner.

Selection des colonnes a retourner

Le résultat est le suivant dans Power Query :

Resultat de la fusion entre les 2 sources

Après chargement dans Excel, on obtient le fichier des codes postaux suivant :

Fichier de tous les code postal en France

Vous trouverez des informations complémentaires sur l'importation de données à partir de sources différentes sur le site de Microsoft.

6 Comments

  1. Daniel Pomerleau
    12/07/2022 @ 18:38

    Bonjour, Y a t'il une base de données pour le Québec ?

    Reply

    • Frédéric LE GUEN
      22/07/2022 @ 21:56

      Je suis preneur si vous en avez une

      Reply

  2. Greg
    07/12/2021 @ 15:05

    Cette vidéo est très bien merci infiniment !

    Reply

    • Frédéric LE GUEN
      09/12/2021 @ 11:11

      Merci bcp

      Reply

  3. Younes
    07/07/2019 @ 23:50

    Merci pour le cour, sauf que la vidéo n'est pas accessible
    merci

    Reply

    • Frédéric LE GUEN
      08/07/2019 @ 18:00

      Merci pour ce message mais la vidéo n'est plus très pédagogique. Il faut que je la refasse mais je n'ai vraiment pas de temps pour m'y mettre

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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