Skip to content

CivicKnowledge/address_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Address Parser

Yet another python address parser for US postal addresses

Basic usage:

from address_parser import Parser

parser = Parser()
adr = parser.parse(line)

The adr object is a nested object with address parts as properties.

return TopBunch(
        number=Bunch(
            type='P',
            number=int(self.number) if self.number else -1,
            tnumber=str(self.number),
            end_number=self.multinumber,
            fraction=self.fraction,
            suite=self.suite,
            is_block=self.is_block
        ),

        road=Bunch(
            type='P',
            name=self.street_name,
            direction=self.street_direction if self.street_direction else '',
            suffix=self.street_type if self.street_type else ''
        ),

        locality=Bunch(
            type='P',
            city=self.city,
            state=self.state,
            zip=self.zip

        ),

        hash=self.hash,

        text=str(self)
    )

Then, you can access properties on the object. The top level properties are:

  • number: The house number
    • number.number. The number as an integer, or -1 if there is no house number
    • number.tnumber: The number as text
    • number.end_number: The final number in a number rage
    • number.fraction: The fractional part of the house number
    • number.suite: A suite or unit number.
  • road: The street
    • road.name: The bare street name
    • road.direction. A cardinal direction, N, S, E, W, NE, NW, etc.
    • road.suffix. The road type, sich as St, Ave, Pl.
  • locality: City, state, zip
    • locality.city
    • locality.state
    • locality.zip
  • text: Holds the whole address as text.

You can also access everything as dicts. From the top level, adr.dict will return all parsed components as a dict, and each of the top level bunches can also be acess as dicts, such as adr.road.dict

About

Yet another python address parser.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published