Giter VIP home page Giter VIP logo

adresseparser's Introduction

GitHub GitHub contributors Python package PyPI PyPI - Format Build Status GitHub Release Date

AddresseParser

Package Python pour parser et comparer les adresses françaises.

Lancement

Package disponible sur PyPI

Vous pouvez l'installer avec pip:

pip install AdresseParser

Exemple d'utilisation en console Python:

>>> from AdresseParser import AdresseParser
>>> adr_parser = AdresseParser()
>>> result = adr_parser.parse("88 rue de rivoli 75002 paris")
>>> print(result)
{'numero': '88', 'indice': None, 'rue': {'type': 'RUE', 'nom': 'RIVOLI'}, 'code_postal': '75002', 'ville': {'arrondissement': 2, 'nom': 'PARIS'}, 'cedex': [], 'departement': {'numero': 75, 'nom': 'Paris'}, 'region': 'Île-de-France', 'pays': 'France'}
>>> print(result['rue'])
{'type': 'RUE', 'nom': 'RIVOLI'}
>>> print(result['ville']['arrondissement'])
2

Return

{
    "numero": "str",
    "indice": "str",
    "rue":{
          "type": "str",
          "nom": "str"
     },
    "code_postal": "str",
    "ville": {
          "arrondissement": "int",
          "nom": "str"
     },
     "cedex":[
       {
        "libelle": "str",
        "code_insee": "str"
       }
     ],
    "departement": {
          "numero": "str",
          "nom": "str"
     },
    "region": "str",
    "pays": "France"
 }

adresseparser's People

Contributors

bmadjic avatar maximechallon avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

bmadjic

adresseparser's Issues

Type rue non retourné si paramètre en entrée uppercase

Bonjour,

Tout d'abord merci pour le package, il m'est très utile ! 😄

J'ai remarqué que si l'on passait en paramètre une adresse en majuscules alors le type de rue n'est pas retourné. Voici l'exemple que j'ai expérimenté.

adresse_longue = (adresse.lower() + " " + codePostal + " " + ville.lower())
print(adresse_longue)
adr_parser = AdresseParser()
result = adr_parser.parse(adresse_longue)
print(result)

donnera

1 place georges agniel 01140 saint didier sur chalaronne
{'numero': '1', 'rue': {'type': 'PLACE', 'nom': 'GEORGES AGNIEL'}, 'code_postal': '01140', 'ville': {'arrondissement': 0, 'nom': 'SAINT DIDIER SUR CHALARONNE'}, 'departement': {'numero': '01', 'nom': 'Ain'}, 'region': 'Auvergne-Rhône-Alpes', 'pays': 'France'}

alors que

adresse_longue = (adresse.upper() + " " + codePostal + " " + ville.upper())
print(adresse_longue)
adr_parser = AdresseParser()
result = adr_parser.parse(adresse_longue)
print(result)

donnera

1 PLACE GEORGES AGNIEL 01140 SAINT DIDIER SUR CHALARONNE
{'numero': '1', 'rue': {'type': '', 'nom': 'GEORGES AGNIEL'}, 'code_postal': '01140', 'ville': {'arrondissement': 0, 'nom': 'SAINT DIDIER SUR CHALARONNE'}, 'departement': {'numero': '01', 'nom': 'Ain'}, 'region': 'Auvergne-Rhône-Alpes', 'pays': 'France'}

Alanna

Indices de voies

gérer les adresses avec des indices (1A, 1B, 1C, 1D, ... ou 1 bis, 1 ter, 1 quater, ...)

KeyError when parsing on overseas territories

Parsing on Dom Toms generates error.

`/dataiku/app/design/code-envs/python/CE-NLP/lib/python3.6/site-packages/AdresseParser/AdresseParser.py in parse(self, adresse_string)
53 "departement": {
54 "numero": numero_dpt,
---> 55 "nom": DEPARTEMENTS[str(numero_dpt)]["nom"]
56 },
57 "region": DEPARTEMENTS[str(numero_dpt)]["region"]["nom"],

KeyError: '97'`

It seems like the variable 'numero_dpt' isn't correctly extracted from the zip.

Codes postaux

Mettre le rajout des codes postaux et du numéro de département dans le bloc du code_postal et retourner un tuple (code postal, numéro département)

Nouveaux types de voies

ajouter d'autres types de rue : allée, chemin, route, GR (grande rue), cité, résidence, hameau, lieu-dit, traverse, promenade, rond-point, passage, etc.

Ajout CEDEX

Bonjour,

C'est de nouveau moi ! 🙃

Pensez-vous qu'il est possible d'ajouter les CEDEX ? Le lien est un renvoi vers la liste des CEDEX avec leur code postal, libellé et code INSEE.

Merci par avance ! 😃

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.