<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: A better way to parse an address? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17795#M1391</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a lot of good stuff listed above, In the course of my work I occasionally have to parse addresses and I get data address dumps from our tax division which are horribly bad! &amp;nbsp;So I have been slowly working on a parser to accommodate this data.... &amp;nbsp;for what it is worth .... &amp;nbsp;(I am still learning python)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 19 Jun 2017 16:01:29 GMT</pubDate>
    <dc:creator>TedKowal</dc:creator>
    <dc:date>2017-06-19T16:01:29Z</dc:date>
    <item>
      <title>A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17782#M1378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I looked at the standardize address tool to see if it would do what I need and it works for most of my address data, but there are a number that don't fit the perfect model.( See &lt;A href="https://community.esri.com/thread/162380" target="_blank"&gt;Error Trapping&lt;/A&gt; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At any rate, holding the rank of Hack Specialist .1 in the Python Legion, I'm running a series of scripts to parse out address components from a single string address in the form of&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1234 S Main ST&lt;/STRONG&gt; or &lt;STRONG&gt;1234 E Olive Branch D&lt;/STRONG&gt;r or &lt;STRONG&gt;1234 S 300 E&lt;/STRONG&gt;.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The house number, pre-dir and suf-type/suf-dir aren't too bad, but teasing the street itself out is a little more challenging&amp;nbsp; as it may be multiple words.&amp;nbsp; What I've come up with is a series of splits and joins that get the job done, but there has got to be a better way.&amp;nbsp; Any pointers are appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is what I do:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;def myStreetName(inString):
&amp;nbsp; a = inString.split(' ')
&amp;nbsp; b = a.pop()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #takes off suf
&amp;nbsp; c = ' '.join(a)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # put it back together
&amp;nbsp; d = c.split(' ')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #split it back out again
&amp;nbsp; e = d.pop(0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #takes off housenum
&amp;nbsp; f = ' '.join(d)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #put it back together again
&amp;nbsp; g = f.split(' ')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # split again
&amp;nbsp; h = g.pop(0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # get rid of pre-dir
&amp;nbsp; street = ' '.join(g)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #leaves just the street
&amp;nbsp; return street&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #home free&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myStreetName(!fullAddress!)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:43:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17782#M1378</guid>
      <dc:creator>JoeBorgione</dc:creator>
      <dc:date>2021-12-10T20:43:02Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17783#M1379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Joe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have outed us on Standardize Addresses having issues at 10.x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The easiest thing to do is download the 9.x styles and use Standardize Addresses with an old style.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.arcgis.com/home/item.html?id=d36e3c27f12342d3b54f697048c71658" title="http://www.arcgis.com/home/item.html?id=d36e3c27f12342d3b54f697048c71658"&gt;http://www.arcgis.com/home/item.html?id=d36e3c27f12342d3b54f697048c71658&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For interest, attached is a script I did for a tool for internal use - to find the parts of an address.&amp;nbsp; It is far from bulletproof.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another, canonical, way to standardize addresses (worldwide) is to leverage the World Geocode Service, for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find?text=380%20new%20york%20st%20redlands&amp;amp;outFields=*&amp;amp;f=pjson" title="http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find?text=380%20new%20york%20st%20redlands&amp;amp;outFields=*&amp;amp;f=pjson"&gt;http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find?text=380%20new%20york%20st%20redlands&amp;amp;outFields=…&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You grab the returned JSON and take it from there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only catch is if you're storing the results you must use the forStorage parameter and use a token.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 16:04:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17783#M1379</guid>
      <dc:creator>BruceHarold</dc:creator>
      <dc:date>2015-08-12T16:04:12Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17784#M1380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your split string ('a') already contains a usable list of all you need.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If your addresses always take the form:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- first element = house number&lt;/P&gt;&lt;P&gt;- second element = pre-dir&lt;/P&gt;&lt;P&gt;- last element = suf-dir&lt;/P&gt;&lt;P&gt;- street name = everything between second and last element&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;... you can parse it apart like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;gt;&amp;gt;&amp;gt; inString = '1234 E Olive Branch Dr'
... splitString = inString.split(' ')
... a = splitString[0]
... b = splitString[1]
... c = ' '.join(splitString[2:-1]) # everything between 2nd and last element, joined back together with a space
... d = splitString[-1]
... print (a,b,c,d)
...
('1234', 'E', 'Olive Branch', 'Dr')&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:43:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17784#M1380</guid>
      <dc:creator>DarrenWiens2</dc:creator>
      <dc:date>2021-12-10T20:43:05Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17785#M1381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;or&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;gt;&amp;gt;&amp;gt; inString = "1234 E Olive Branch Dr"
&amp;gt;&amp;gt;&amp;gt; a = (inString.strip()).split(" ")
&amp;gt;&amp;gt;&amp;gt; addr = a[0]
&amp;gt;&amp;gt;&amp;gt; NSEW = [i for i in a if len(i)==1][0]
&amp;gt;&amp;gt;&amp;gt; pre = "{} {}".format(addr,NSEW)
&amp;gt;&amp;gt;&amp;gt; street = inString.replace(pre,"").strip()
&amp;gt;&amp;gt;&amp;gt; street&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eg.. 'Main ST'&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Olive Branch Dr'&amp;nbsp;&amp;nbsp; '300 E'&amp;nbsp; (not sure of the last on...just in case there was an E street N&lt;/P&gt;&lt;P&gt;We really should quit playing around....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:43:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17785#M1381</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2021-12-10T20:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17786#M1382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bruce: Been using 9.3 locators, but now I'm being 'forced' into the more modern world....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Darren-&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;that's what I'm talking about!&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp; Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dan-&amp;nbsp; not sure I follow:&amp;nbsp; MAIN, OLIVE BRANCH, and 300 are all the valid StreetNames for the examples.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 16:48:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17786#M1382</guid>
      <dc:creator>JoeBorgione</dc:creator>
      <dc:date>2015-08-12T16:48:59Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17787#M1383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Standardize Addresses doesn't use a locator, it uses a style, so for the US you should be safe to install the old stuff and carry on.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 16:52:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17787#M1383</guid>
      <dc:creator>BruceHarold</dc:creator>
      <dc:date>2015-08-12T16:52:02Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17788#M1384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ahhh I had assumed 'main st' etc would be valid names..oh well another slice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 16:53:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17788#M1384</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2015-08-12T16:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17789#M1385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello,&lt;/P&gt;&lt;P&gt;I am looking for a way to batch address parsing.&amp;nbsp; Is there a python script?&lt;/P&gt;&lt;P&gt;Mike H&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 17:33:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17789#M1385</guid>
      <dc:creator>MichaelHilstrom</dc:creator>
      <dc:date>2015-12-17T17:33:27Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17790#M1386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I just use the python code provided above and run it a few times to calculate the values of each field.&amp;nbsp; I'm sure some young, ambitious, aspiring GIS analyst could work that into a tool that is just a double click away from greatness.&amp;nbsp; But since I'm just a cranky, gray bearded, old school GIS analyst, I do it my way...&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 17:52:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17790#M1386</guid>
      <dc:creator>JoeBorgione</dc:creator>
      <dc:date>2015-12-17T17:52:12Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17791#M1387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Joe,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where is the python script? I cannot see it…&lt;/P&gt;&lt;P&gt;PS:I am new to the discussion groups.&lt;/P&gt;&lt;P&gt;I was able to download a python script last year for exporting attribute tables to excel spread sheets.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Michael Hilstrom, R.G.&lt;/P&gt;&lt;P&gt;Environmental Consultant&lt;/P&gt;&lt;P&gt;ADOA - Risk Management Division l State of Arizona&lt;/P&gt;&lt;P&gt;100 North 15th Avenue, Suite 301, Phoenix, AZ 85007&lt;/P&gt;&lt;P&gt;p:  602.542.2863 | michael.hilstrom@azdoa.gov&amp;lt;mailto:michael.hilstrom@azdoa.gov&amp;gt;&lt;/P&gt;&lt;P&gt;https://staterisk.az.gov&amp;lt;https://staterisk.az.gov/&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How am I doing? Please take a moment to answer a few questions.&lt;/P&gt;&lt;P&gt;https://www.surveymonkey.com/r/VOCRiskLossPrev&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 18:00:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17791#M1387</guid>
      <dc:creator>MichaelHilstrom</dc:creator>
      <dc:date>2015-12-17T18:00:20Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17792#M1388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Right in Darrens' post above. This is how I run it in the attribute calculator:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;myParser&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;inString&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp; splitString &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; inString&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;split&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;' '&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;###splits the address into a list&lt;/SPAN&gt;
&amp;nbsp; a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; splitString&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;### list item 0 is the house number&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp; b &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; splitString&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;### list item 1 is the prefix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp; c &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;' '&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;splitString&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;###&amp;nbsp; this rerurns the street name&lt;/SPAN&gt;
&amp;nbsp; d &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; splitString&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;### this returns the suf dir or street type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;### depending on what you want to return,&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="comment token"&gt;#return b&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ### un-comment and re-comment out the&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="comment token"&gt;#return c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ### appropriate value(s)&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="comment token"&gt;#return d&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It'll look something like this where I am calculating the value of HouseNumber using the field PT_ADD as the input:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="157568" alt="" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/157568_pastedImage_1.png" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:43:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17792#M1388</guid>
      <dc:creator>JoeBorgione</dc:creator>
      <dc:date>2021-12-10T20:43:10Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17793#M1389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, Thanks I will try it in the field calculator…I am a bit inexperienced…I used the field calc. before, but that was over 10 years ago..&lt;/P&gt;&lt;P&gt;I really do appreciate the help&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 18:21:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17793#M1389</guid>
      <dc:creator>MichaelHilstrom</dc:creator>
      <dc:date>2015-12-17T18:21:56Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17794#M1390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Like all other tools, the best address parser is the one that someone else already wrote.&amp;nbsp; Lately, I have been using &lt;A href="https://parserator.datamade.us/usaddress"&gt;usaddress &lt;/A&gt;and have been quiet happy with it.&amp;nbsp; Granted, it doesn't validate addresses, but it also doesn't carry all the bulky overhead of other geocoding services when all I want to do is parse addresses.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Dec 2015 19:39:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17794#M1390</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2015-12-17T19:39:45Z</dc:date>
    </item>
    <item>
      <title>Re: A better way to parse an address?</title>
      <link>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17795#M1391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a lot of good stuff listed above, In the course of my work I occasionally have to parse addresses and I get data address dumps from our tax division which are horribly bad! &amp;nbsp;So I have been slowly working on a parser to accommodate this data.... &amp;nbsp;for what it is worth .... &amp;nbsp;(I am still learning python)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jun 2017 16:01:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/a-better-way-to-parse-an-address/m-p/17795#M1391</guid>
      <dc:creator>TedKowal</dc:creator>
      <dc:date>2017-06-19T16:01:29Z</dc:date>
    </item>
  </channel>
</rss>

