IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Parser une adresse


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Parser une adresse
    Bonjour à tous,

    Je suis à la recherche d'une librairie me permettant de parser automatiquement des adresses postales.

    J'ai vu qu'il existait une librairie qui s'appelle libpostal mais je ne sais pas comment l'utiliser.

    Est-ce que vous pourriez m'indiquer comment faire pour installer et utiliser cette librairie, ou si vous en connaissez une autre qui fait la même chose ?

    Merci beaucoup

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    libpostal semble (d'après github) être une librairie pour programmes compilés (C/C++) mais mentionne pyPostal. Une rapide recherche dans un moteur de recherche à partir de cet indice m'a amené sur pyPostal mais qui date de 2010 (donc pour Python3 c'est peau d'zob)
    Mais puisque cette librairie existe, je me suis dit que le sujet devait être connu. Donc j'ai bêtement tapé "python parser adresse postale" dans un moteur de recherche (chose qui me semble être faisable à ton niveau) et je suis arrivé sur address-parser qui date de 2019. Il y a des exemples d'utilisation

    Pour installer tu télécharges le source (.tar.gz) que tu décompresses dans un dossier. Ensuite généralement la procédure est toujours la même
    • python3 setup.py build
    • python3 setup.py install
    (il doit y avoir un fichier ReadMe ou un INSTALL qui l'explique).

    Si tu veux installer via le réseau alors tu tapes simplement pip3 install address-parser (fonctionne aussi avec un fichier ".whl" téléchargeable si présent)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut
    Bonjour Sve@r,

    Merci beaucoup pour ta réponse.

    J'ai essayé d'utiliser la librairie addresse-parser mais je crois que je n'obtiens pas le résultat souhaité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    from address_parser import Parser
     
     
    adr = Parser().parse('12 rue des Etoiles, 13009 Marseille')
    print(adr)
     
    12 Rue Des Etoiles, Marseille 13009
    J'aurais souhaité obtenir une séparation complète des champs (Numéro de voie, voie, Ville, CP...).
    Ici j'ai l'impression que la séparation se fait uniquement parce qu'il y a une virgule.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par frutz Voir le message
    J'aurais souhaité obtenir une séparation complète des champs (Numéro de voie, voie, Ville, CP...).
    Le print(adr) affiche l'adresse complète sans découpage. Mais on peut accèder aux attributs d'adr:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> adr.number.number
    12
    ou les récupérer via adr.dict.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par frutz Voir le message
    Ici j'ai l'impression que la séparation se fait uniquement parce qu'il y a une virgule.
    Ben ça se vérifie !!!
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> adr = Parser().parse('12 rue des Etoiles 13009 Marseille')
    >>> print(adr)

    Ensuite tu peux regarder type(adr), help(adr), dir(adr). Par exemple avec "dir()" je vois qu'il existe une méthode "args" donc je tente print(adr.args) et là j'ai des trucs qui apparaissent. Et enfin je vois qu'il y a une homepage donc je vais voir ce qui s'y raconte. Découvrir une nouvelle lib ça ne se fait pas en 3mn (moi ça fait 1 mois que je tente de comprendre pyqtgraph)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 221
    Par défaut
    hello,
    il y a aussi le module fraddress (disponible chez Pypi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import fraddress
    print(fraddress.parse('12 rue des Etoiles, 13009 Marseille'))
    donne comme résultat :
    [('12', 'AddressNumber'), ('rue', 'StreetType'), ('des', 'StreetLink'), ('Etoiles,', 'StreetName'), ('13009', 'Zipcode'), ('Marseille', 'City')]
    Ami calmant, J.P

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    il y a aussi le module fraddress (disponible chez Pypi) :
    Effectivement, à première vue il semble plus sympa que adress_parser. C'est le petit inconvénient des libairies externes, on ne sait jamais laquelle choisir....
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2003, 12h22
  2. Réponses: 5
    Dernier message: 25/03/2003, 17h27
  3. commande dos pour résoudre une adresse ip
    Par stephy dans le forum Développement
    Réponses: 2
    Dernier message: 17/12/2002, 14h04
  4. [langage] Continuer a parser une ligne
    Par D[r]eadLock dans le forum Langage
    Réponses: 5
    Dernier message: 30/09/2002, 18h49
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo