2017-04-05 6 views
2

Je traite des adresses correspondant comme 123 Main St. Suite 100 Chicago, IL et 123 Main Street Chicago, IL. Un problème important est de transformer les abréviations de type de rue, telles que St. en Street. Je me demande s'il y a un paquet Python qui le traite, car il semble que ce soit un problème très courant pour traiter les adresses. PS, je sais usaddress, mais il ne traite que toutes les parties, ne fait aucune transformation.Python pour transformer l'abréviation de type de rue?

+0

http://bcdcspatial.blogspot.com/2012/09/normalize-to-usps-street-abbreviations.html –

+2

Vous pouvez probablement faire un dictionnaire simple sur les abréviations autorisées et si vous êtes vraiment ambitieux, soumettez-le à 'usaddress'. –

Répondre

1

Vous pouvez convertir en une abréviation suivie d'un point en utilisant l'adresse et l'adresse usaddress. Je USAddress depuis que je sais que cela va analyser les adresses telles que 123 S du Nord Dr Cela fait partie de ce que je faisais:

import usaddress 
from address import AddressParser, Address 
addr = usaddress.parse(address_line1) 
ad = AddressParser() 
addr2 = ad.parse_address(address_line1) 
#perform some cleanup and functions on addr... 
if addr2.street_suffix: 
    post = addr2.street_suffix 
else: 
    post = '' 

Here is the documentation on the address 0.1.1 module.