2017-04-05 83 views
2

我正在處理地址匹配,如123 Main St. Suite 100 Chicago, IL123 Main Street Chicago, IL。一個重要的問題是將街道類型的縮寫,例如St.轉換爲Street。我想知道是否有任何Python包處理它,因爲它似乎是一個處理地址的常見問題。Python改造街道類型縮寫?

PS,我知道usaddress,但它只解析出所有的部分,不做任何轉換。

+0

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

+2

你可以用允許的縮寫詞做一個簡單的詞典,如果你真的有雄心壯志,可以提交它到'usaddress'。 –

回答

1

您可以使用地址和usaddress將其轉換爲縮寫後跟一個句點。我用的校舍地址,因爲我知道它會解析地址,如123號北博士這就是我所做的部分:

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