I'm working normalizing list addresses using Tiger Geocoder normalizer and a python library, usaddress E.G.

For these two I have:

5121 33RD ST N

House_no = 5121
street_no = 33


House_no = 1656
street_name =  HABERSHAL

But for these one:


I'm not sure, if Harrison is name what does it means st200?

  • see mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses for all the things that might go wrong – Ian Turton Jul 10 '17 at 16:32
  • If you really want to stress-test your normalizer, see if it can handle the mailing address for the Grand Canyon North Rim Lodge: End of road, North Rim, AZ, 86052. – Mark Jul 10 '17 at 22:24
  • @Mark the results were: [(u'End', 'AddressNumber'), (u'of', 'StreetName'), (u'road,', 'StreetNamePostType'), (u'North', 'PlaceName'), (u'Rim,', 'PlaceName'), (u'AZ,', 'StateName'), (u'86052.', 'ZipCode')] – atxgis Jul 12 '17 at 13:49

ST in an address suffix usually refers to the suite of a sub location. In this instance it means Suite 200.



Since the question asks about USA....

In Sequoyah County, Oklahoma, roads in rural areas have numbers proportional to their distance from the county boundary. At intersections, a road may have the number on some street signs and the name on others. People and businesses may use either name or number. I have a mapping app which shows the road's number on the map but can't find it when entered into a search.

My parents live on a street that is two blocks long but turns 90º in the middle. At the turn, the sign says LAKEVIEW LANE but at the end, it's LAKE VIEW LANE. And of course the post office demands LN instead of LANE.

There are at least two streets in Sallisaw where the street name is misspelled on some of the signs.


Yes, addresses can have numbers in the street name. e.g.

  • Grand Central Terminal, 89 E 42nd ST, New York, NY 10017
  • Carnegie Hall, 881 7th AVE, New York, NY 10019
  • Washington Monument, 2 15th ST NW, Washington, DC 20024

In your case atxgis is likely right in that you have a suite number. Your given example lends itself to the impression that there's a missing line break or comma. It could still be a 'Street' and the 200 be an apartment number, so check your inputs and look for clarifying information. You'll often see suite abbreviated STE, rather than ST, to avoid exactly the sort of confusion you've run into here. That, or the suite number/office number/apartment number will be on a separate line.

street_no is an entirely pointless variable, as the number in the street name should just be part of street_name and the number of the street isn't always the first thing in the street name (see Grand Central Terminal example above).

If your House_no variable is an integer, you need to change it to a string, otherwise an address like 221B Baker Street is going to break things. Also, be on the lookout for fractions, either in the house number, or the street name. Sometimes they are written out with 3 characters, other times they are represented by the appropriate glyph (i.e. ¼, ½, ¾), still others they are represented in decimal form, or they can even be written out (e.g. 21 ONE HALF [streetname] ST).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.