<?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: concatenation of fields using python in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172970#M13325</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Ok got it fixed.&amp;nbsp; Your field names being different from mine definitely caused some problems.&amp;nbsp; Also, the range and township fields were of float type, which was causing problems as well.&amp;nbsp; I copied those fields as short ints to fix the problem. This now works perfectly for me.&amp;nbsp; Here is the solution, all that you will need to change is the path to the Owner_Surface feature class.&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;import arcpy, sys, traceback&amp;nbsp; sections = r'C:\TESTING\TestData\TestData.gdb\Owner_Surface' def Quads(sections): &amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections) &amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.quad == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N W') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 2: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N E') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 3: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S W') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 4: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S E') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows&amp;nbsp; try: &amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'townshp2', 'SHORT') &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'range2', 'SHORT')&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label &amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field &amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections) &amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.townshp2 = row.township &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.range2 = row.range &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad = row.QUAD_LBL&amp;nbsp; # splits by space in new quad field &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.townshp2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.range2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.section_ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.LABEL = 'T%s%s R%s%s Sec%s' %(twp, quad.split(' ')[0], rng, quad.split(' ')[-1], sec)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows &amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Done'&amp;nbsp; except: &amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the traceback object &amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2] &amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = traceback.format_tb(tb)[0]&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Concatenate information together concerning the error into a message string &amp;nbsp;&amp;nbsp;&amp;nbsp; pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info()[1]) &amp;nbsp;&amp;nbsp;&amp;nbsp; msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Return python error messages for use in script tool or Python Window &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(pymsg) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(msgs)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Print Python error messages for use in Python / Python Window &amp;nbsp;&amp;nbsp;&amp;nbsp; print pymsg + "\n" &amp;nbsp;&amp;nbsp;&amp;nbsp; print msgs&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;I also used a print statement to show the labels being populated:&lt;BR /&gt;&lt;BR /&gt;T21S R7E Sec36&lt;BR /&gt;T30S R12W Sec34&lt;BR /&gt;T14N R2E Sec18&lt;BR /&gt;T2N R25W Sec2&lt;BR /&gt;Done&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is awsome! Works like a charm, Thank you so very much!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 07 Dec 2012 18:14:59 GMT</pubDate>
    <dc:creator>JessicaKirby</dc:creator>
    <dc:date>2012-12-07T18:14:59Z</dc:date>
    <item>
      <title>concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172961#M13316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Python Guru's&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I need help figuring out how to populate an attribute field using python&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to create a label field that is a concatenation of 4 fields in my dataset; Quad, Township, Range and Section&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My problem is that the Quad is a numeric field that represents the direct or text label&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for example&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Quad = 3 (where 1= NW, 2 = NE, 3 = SW, 4 = SE)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Township = 16&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Range = 42&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Section = 36&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the output label field needs to be a text field that reads like this:&amp;nbsp; T16S R42W Sec36&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Where the S in township&amp;nbsp; and W in range come from the quad = 3 for SW&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have no idea where to start this one. Any help is truly appreciated!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 15:04:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172961#M13316</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2012-12-07T15:04:50Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172962#M13317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Probably the simplest thing to do is make two new columns - northsouth and eastwest. If Quad = 1 or 2, northsouth = N. If Quad = 3 or 4, northsouth = S. And so on. Use those fields in your label.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;edit: once you have "northsouth" and "eastwest" populated with the proper letters, you can make your label expression to be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; "T" &amp;amp; [Township] &amp;amp; [northsouth] &amp;amp; " R" &amp;amp; [Range] &amp;amp; [eastwest] &amp;amp; " Sec" &amp;amp; [Section]&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 15:11:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172962#M13317</guid>
      <dc:creator>DarrenWiens2</dc:creator>
      <dc:date>2012-12-07T15:11:53Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172963#M13318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is meant for a stand alone script, would need to be modified as code block for field calculator.&amp;nbsp; Completely untested, but maybe something like this would work:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy

sections = r'G:\PLSS\PLSS.mdb\Sections'
def Quads(sections):
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Quad == '1': #&amp;nbsp; if string type
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == '2':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == '3':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == '4':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label
&amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad1 = row.QUAD_LBL.split(' ')[0]&amp;nbsp; # splits by space in new quad field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad2 = row.QUAD_LBL.split(' ')[-1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.Township
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.Range
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.Section
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.LABEL = 'T%s%s R%s%s Sec%s' %(twp, quad1, rng, quad2, sec)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

except Exception as e:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print e.message
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If using this code within a script tool, AddError can be used to return messages 
&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp; back to a script tool.&amp;nbsp; If not, AddError will have no effect.
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(e.message)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172963#M13318</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T08:56:29Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172964#M13319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Caleb&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the code, this seems to be the trick&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;but.... I am recieving the following error&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ERROR 999999: Error executing function.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The value type is incompatible with the field type. [Quad]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My Quad field type is short int&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;do I need to change it to a text to accept the&amp;nbsp; row.quad = 'N W' ect,?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;any thoughts&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-----------------------------Please disreguard this post, I just realized what i did&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 16:49:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172964#M13319</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2012-12-07T16:49:42Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172965#M13320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ah that is an easy fix.&amp;nbsp; I had it set up for if your quad field was of text type. All you need to do is remove the single quotes wrapping around the value:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Quad == 1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 4:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Did it work with this change?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172965#M13320</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T08:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172966#M13321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Ah that is an easy fix.&amp;nbsp; I had it set up for if your quad field was of text type. All you need to do is remove the single quotes wrapping around the value:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Quad == 1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'N E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S W'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 4:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.QUAD_LBL = 'S E'
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;Did it work with this change?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; when I remove the ' ' i get syntax error at row&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;row.QUAD_LBL = N E&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172966#M13321</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2021-12-11T08:56:34Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172967#M13322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;hmmm, perhaps the row.setValue may work here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy

sections = r'G:\PLSS\PLSS.mdb\Sections'
def Quads(sections):
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Quad == 1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 4:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label
&amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad1 = row.getValue('QUAD_LBL').split(' ')[0]&amp;nbsp; # splits by space in new quad field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad2 = row.getValue('QUAD_LBL).split(' ')[-1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.getValue('Township')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.getValue('Range')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.getValue('Section')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('LABEL','T%s%s R%s%s Sec%s' %(twp, quad1, rng, quad2, sec))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

except Exception as e:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print e.message
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If using this code within a script tool, AddError can be used to return messages 
&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp; back to a script tool.&amp;nbsp; If not, AddError will have no effect.
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(e.message)
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this doesnt work, would you mind posting just a subset of your data so I could test and figure out what is going wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PS I just had to fix something else in this&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172967#M13322</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T08:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172968#M13323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;hmmm, perhaps the row.setValue may work here:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy

sections = r'G:\PLSS\PLSS.mdb\Sections'
def Quads(sections):
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Quad == 1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Quad == 4:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label
&amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad1 = row.getValue('QUAD_LBL').split(' ')[0]&amp;nbsp; # splits by space in new quad field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad2 = row.getValue('QUAD_LBL).split(' ')[-1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.getValue('Township')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.getValue('Range')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.getValue('Section')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('LABEL','T%s%s R%s%s Sec%s' %(twp, quad1, rng, quad2, sec))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

except Exception as e:
&amp;nbsp;&amp;nbsp;&amp;nbsp; print e.message
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; # If using this code within a script tool, AddError can be used to return messages 
&amp;nbsp;&amp;nbsp;&amp;nbsp; #&amp;nbsp;&amp;nbsp; back to a script tool.&amp;nbsp; If not, AddError will have no effect.
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(e.message)
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;If this doesnt work, would you mind posting just a subset of your data so I could test and figure out what is going wrong?&lt;BR /&gt;&lt;BR /&gt;PS I just had to fix something else in this&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Still getting error &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'NoneType' object has no attribute 'split'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;attached is some test data (10.0 GDB), Thank you so much for helping me out with this!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;p.s.&amp;nbsp; field names need editing (no capital letters and there is an underscore on section) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;quad&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;township&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;range&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;section_&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172968#M13323</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2021-12-11T08:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172969#M13324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok got it fixed.&amp;nbsp; Your field names being different from mine definitely caused some problems.&amp;nbsp; Also, the range and township fields were of float type, which was causing problems as well.&amp;nbsp; I copied those fields as short ints to fix the problem. This now works perfectly for me.&amp;nbsp; Here is the solution, all that you will need to change is the path to the Owner_Surface feature class.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy, sys, traceback

sections = r'C:\TESTING\TestData\TestData.gdb\Owner_Surface'
def Quads(sections):
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.quad == 1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 3:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S W')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 4:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S E')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows

try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'townshp2', 'SHORT')
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'range2', 'SHORT')

&amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label
&amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.townshp2 = row.township
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.range2 = row.range
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad = row.QUAD_LBL&amp;nbsp; # splits by space in new quad field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.townshp2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.range2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.section_
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.LABEL = 'T%s%s R%s%s Sec%s' %(twp, quad.split(' ')[0], rng, quad.split(' ')[-1], sec)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row)
&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows
&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Done'

except:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the traceback object
&amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2]
&amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = traceback.format_tb(tb)[0]

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Concatenate information together concerning the error into a message string
&amp;nbsp;&amp;nbsp;&amp;nbsp; pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info()[1])
&amp;nbsp;&amp;nbsp;&amp;nbsp; msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Return python error messages for use in script tool or Python Window
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(pymsg)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(msgs)

&amp;nbsp;&amp;nbsp;&amp;nbsp; # Print Python error messages for use in Python / Python Window
&amp;nbsp;&amp;nbsp;&amp;nbsp; print pymsg + "\n"
&amp;nbsp;&amp;nbsp;&amp;nbsp; print msgs
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also used a print statement to show the labels being populated:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;T21S R7E Sec36&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T30S R12W Sec34&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T14N R2E Sec18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;T2N R25W Sec2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Done&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:56:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172969#M13324</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-11T08:56:43Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172970#M13325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Ok got it fixed.&amp;nbsp; Your field names being different from mine definitely caused some problems.&amp;nbsp; Also, the range and township fields were of float type, which was causing problems as well.&amp;nbsp; I copied those fields as short ints to fix the problem. This now works perfectly for me.&amp;nbsp; Here is the solution, all that you will need to change is the path to the Owner_Surface feature class.&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;import arcpy, sys, traceback&amp;nbsp; sections = r'C:\TESTING\TestData\TestData.gdb\Owner_Surface' def Quads(sections): &amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections) &amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row.quad == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N W') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 2: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','N E') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 3: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S W') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.quad == 4: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue('QUAD_LBL','S E') &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows&amp;nbsp; try: &amp;nbsp;&amp;nbsp;&amp;nbsp; # add fields &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'QUAD_LBL', 'TEXT','','', 3) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'LABEL', 'TEXT','','', 15) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'townshp2', 'SHORT') &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(sections, 'range2', 'SHORT')&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # update new field for quads label &amp;nbsp;&amp;nbsp;&amp;nbsp; Quads(sections)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Generate full label field &amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(sections) &amp;nbsp;&amp;nbsp;&amp;nbsp; for row in urows: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.townshp2 = row.township &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.range2 = row.range &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quad = row.QUAD_LBL&amp;nbsp; # splits by space in new quad field &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; twp = row.townshp2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rng = row.range2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sec = row.section_ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.LABEL = 'T%s%s R%s%s Sec%s' %(twp, quad.split(' ')[0], rng, quad.split(' ')[-1], sec)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; del row, urows &amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Done'&amp;nbsp; except: &amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the traceback object &amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2] &amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = traceback.format_tb(tb)[0]&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Concatenate information together concerning the error into a message string &amp;nbsp;&amp;nbsp;&amp;nbsp; pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info()[1]) &amp;nbsp;&amp;nbsp;&amp;nbsp; msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Return python error messages for use in script tool or Python Window &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(pymsg) &amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(msgs)&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Print Python error messages for use in Python / Python Window &amp;nbsp;&amp;nbsp;&amp;nbsp; print pymsg + "\n" &amp;nbsp;&amp;nbsp;&amp;nbsp; print msgs&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;I also used a print statement to show the labels being populated:&lt;BR /&gt;&lt;BR /&gt;T21S R7E Sec36&lt;BR /&gt;T30S R12W Sec34&lt;BR /&gt;T14N R2E Sec18&lt;BR /&gt;T2N R25W Sec2&lt;BR /&gt;Done&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is awsome! Works like a charm, Thank you so very much!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 18:14:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172970#M13325</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2012-12-07T18:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172971#M13326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;This is awsome! Works like a charm, Thank you so very much!&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Caleb,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I have to bug you one more time.&amp;nbsp; So this worked just fine on my test dataset with lives on my c: drive in a GDB, but when I try to apply it to my SDE feature class I get an error :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "V:\GIS\DataEdits\AutomatedTasks\test\addTRSLabel.py", line 54, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.LABEL = 'T%s%s R%s%s Sec%s' %(twp, quad.split(' ')[0], rng, quad.split(' ')[-1], sec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error Info:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'NoneType' object has no attribute 'split'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ArcPy ERRORS:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and when I look at the attribute for the new feilds in the fc on SDE they are not populated....any thoughts as to why this would happen.&amp;nbsp; Note that I did change the sections source&amp;nbsp; from &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sections = r'C:\Users\jkirby\Desktop\Junk and Email\TestData\TestData.gdb\Owner_Surface'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sections = r'Database Connections\owner_PUB@tla-gis.sde\SITLA.PUB.Owner_Surface_1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks again for your time!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 20:00:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172971#M13326</guid>
      <dc:creator>JessicaKirby</dc:creator>
      <dc:date>2012-12-07T20:00:00Z</dc:date>
    </item>
    <item>
      <title>Re: concatenation of fields using python</title>
      <link>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172972#M13327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm afraid I cannot help you there.&amp;nbsp; I have never used SDE before, but I have seen that people have had a similar problem.&amp;nbsp; Have you verified that the field names are the same?&amp;nbsp; If the table has the same schema it doesn't make sense why it would work on your test FC and not on the FC in the SDE database.&amp;nbsp; Did it add those fields extra fields in?&amp;nbsp; Hopefully someone with who knows more about SDE will see this and have some insights.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 21:11:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/concatenation-of-fields-using-python/m-p/172972#M13327</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2012-12-07T21:11:04Z</dc:date>
    </item>
  </channel>
</rss>

