Painlessly Parse AU Address¶
This class parses common forms of australian addresses.
For example, an address could have many forms:
Unit 2 42 Example ST, STANMORE, NSW 2048
2/42 EXAMPLE ST, STANMORE NSW 2048
U2 42-44 EXAMPLE STEET, STANMORE, NSW 2048
2/42 EXAMPLE STEET, STANMORE, NSW 2048
2/42-44 Example Street, Stanmore, NSW 2048
Installation¶
>>> pip3 install au-address-parser
Quickstart¶
-
class
au_address_parser.
AbAddressUtility
(addr_string)¶ Parameters: addr_string – address string to parse. >>> from au_address_parser import AbAddressUtility >>> addr = AbAddressUtility('U2 42-44 Example St, STANMORE, NSW 2048') >>> addr <AbAddressUtility(addr_string='U2 42-44 Example St, STANMORE, NSW 2048')>
This class can parse all forms above, and other common forms and assemble different forms as needed.
Most importantly, it provides a standardised address, this is useful when processing multiple data scources with different address forms.
It can be used to standardise addresses, split addresses into parts, or assemble parts into different forms of addresses.
Variables: - addr_string –
The string originally passed to the instance on creation.
>>> addr.addr_string 'Unit 2 42-44 Example St, STANMORE, NSW 2048'
- address_abbr –
Full address but abbreviation of street type.
>>> addr.address_abbr '2/42-44 EXAMPLE ST, STANMORE NSW 2048'
- std_address –
Standardised address.
>>> addr.std_address '2/42 EXAMPLE ST, STANMORE NSW 2048'
- address –
User friendly full address.
>>> addr.address '2/42-44 Example Street, Stanmore NSW 2048'
- parsed_addr –
Break address into parts and return a dict.
>>> addr.parsed_addr {'flat_number_prefix': None, 'flat_number': '2', 'flat_number_suffix': None, 'number_first_prefix': None, 'number_first': '42', 'number_first_suffix': None, 'number_last_prefix': None, 'number_last': '44', 'number_last_suffix': None, 'street_name': 'EXAMPLE', 'street_type_abbr': 'ST', 'street_type': 'STREET', 'street_suffix': None, 'street_suffix_abbr': None, 'locality': 'STANMORE', 'state': 'NSW', 'post': '2048'}
- prop_id –
MD5 value for the standardised address.
>>> addr.prop_id 'b8b3b969b70b290b44900e070fcf4b37'
-
classmethod
from_gnaf_dict
(**kwags)¶ Create an AbAddressUtility class from a dict containing GNAF information.
Params kwags: a dict from GNAF format. >>> gnaf = {'flat_number_prefix': None, 'flat_number': '2', 'flat_number_suffix': None, 'number_first_prefix': None, 'number_first': '42', 'number_first_suffix': None, 'number_last_prefix': None, 'number_last': '44', 'number_last_suffix': None, 'street_name': 'EXAMPLE', 'street_type_abbr': 'ST', 'street_type': 'STREET', 'street_suffix': None, 'street_suffix_abbr': None, 'locality_name': 'STANMORE', 'state_abbreviation': 'NSW', 'postcode': '2048'} >>> addr = AbAddressUtility.from_gnaf_dict(**gnaf) >>> addr <AbAddressUtility(addr_string='2/42-44 Example , Stanmore NSW 2048')>
- addr_string –