A small module that cleans, parses and standardizes addresses
Project description
The-GeoLiberator-Python-Module
This module is an address parser. It takes in an address as an argument and outputs a standardized version. Otherwise, 'OTHER' will be the result if the parser fails. "It is alike a liberal because it takes in any variant addresses indiscriminately. And it is a liberator because it liberates the addresses from their inconsistencies." (Note: This module does not do address validation but it will parse any address you throw at it to the best of its ability. Especially NYC addresses.)
Usage:
To start, import with your desired handle to call upon the module with ease. The function parse_address()
returns the value while geoLiberate()
prints the value.
import GeoLiberator as GL
GL.parse_address("123 Example St, NY 01234", "address") # 'address' to parse the address
# Returns: '123 EXAMPLE STREET'
GL.geoLiberate("123 Example St, NY 01234", "full") # 'full' to parse the full address
# Prints: 123 EXAMPLE STREET, NEW YORK 01234
GL.geoLiberate("123 Example St, NY 01234", "number") # 'number' to parse the address house number
# Prints: 123
GL.geoLiberate("123 Example St, NY 01234", "street") # 'street' to parse the street name
# Prints: EXAMPLE STREET
The first argument is any address of data type string.
The second argument, 'parse', as you may have noticed, determines what gets parsed. (Note: if no argument given, parses address by default)
- "address" - Address (only)
- "full" - Full Address (including state and zipcode)
- "number" - House Number
- "street" - Street Name
- "state" - State
- "zipcode" - Zipcode
The following function's first argument is a file containing a list of addresses. It automatically loops through the rows and parses each address.
GL.autoGeoLiberate("file.txt", "street", "output_file_name.txt") # 'street' to parse full street name
#If no output file name given, program will print all parsed addresses
Let's say 'file.txt' contains the following:
123 Bob Rd
321 N Johnson Aven
123-4 2nd St
Output would look like this:
BOB ROAD
NORTH JOHNSON AVENUE
2nd STREET
For that really lengthy list of addresses in a file, it's reccommended to use autoGeoLiberate() in your program and run it in a cli with the flag --status
(-S
for short) to monitor the module's progress. Like so:
python my_program.py --status
For developmental purposes:
address_object = GL.GeoLiberator("123 Example St") # Create a 'GeoLiberator Object' with address as an argument
#This new address object can then be parsed using the dot operator like so:
address_object.full_address() # includes state and zipcode
address_object.getAddress()
address_object.getAddressNum()
address_object.getStreet()
These member functions return a string value.
Member Function Parameters:
getAddress(log = '')
The 'log' parameter is for entering in a file name to append all address results to a log file. (Note: these functions will always return a value)
Copyright
Copyright (c) 2020 The Python Packaging Authority. Released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file GeoLiberator-0.3.7.tar.gz
.
File metadata
- Download URL: GeoLiberator-0.3.7.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d97efe421effa90e928116d42c5badee09173624887e0f33361cd10e396fdf |
|
MD5 | 04328d4dca7f8ac2b276df4a9a63a6b8 |
|
BLAKE2b-256 | 7d003eb8866f0f534ae56a117b46476bdc976b0b1dd5398f619c6babf8b8692b |