<?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: SetValue help? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742086#M57365</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My stumbling blocks always result in learning something, but this post was one of the most useful for all my day to day tasks. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Curtis, thank you so much. Worked great, and I understand what's happening a lot more.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rich&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Oct 2012 23:58:09 GMT</pubDate>
    <dc:creator>RichardThurau</dc:creator>
    <dc:date>2012-10-04T23:58:09Z</dc:date>
    <item>
      <title>SetValue help?</title>
      <link>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742084#M57363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Trying to run a basic field update, but getting error. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Code: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;ClassList=["Tree_Canopy", "Impervious", "Vegetation", "Soil", "Water"]&amp;nbsp; AcEvalRas=(os.path.join(DirAc, "AcEvalRas_g"+str(i)+"i")) rows = arcpy.UpdateCursor(AcEvalRas) for row in rows: &amp;nbsp;&amp;nbsp;&amp;nbsp; if row.Value == 1: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.SetValue(row.Class, ClassList[0]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.SetValue(row.Ref, ClassList[0]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Value == 2: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Class = row.getValue(ClassList[1]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Ref = row.getValue(ClassList[1]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Value == 3: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Class = row.getValue(ClassList[2]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Ref = row.getValue(ClassList[2]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row) &amp;nbsp;&amp;nbsp;&amp;nbsp; elif row.Value == 4: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Class = row.getValue(ClassList[3]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.Ref = row.getValue(ClassList[3]) &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Error Code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Traceback (most recent call last):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "X:\\TV_LC_2.4_Accuracy2_overlay.py", line 66, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; row.SetValue(row.Class, ClassList[0])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "C:\Program Files\ArcGIS\Desktop10.0\arcpy\arcpy\arcobjects\_base.py", line 28, in __getattr__&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise AttributeError("%s" % attr)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AttributeError: SetValue&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Line 66 is the first "SetValue" line.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried several different versions, where I use setValue and getValue. I even tried a setValue(row.Class, row.getValue(ClassList[0])). The first elif line seems the cleanest to me, but that gives a 99999 Failure to Execute error. From the error messages, I think the first SetValue from the code above is the best so far. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does the syntax look okay? Any ideas would be great.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This is a raster dataset within a GDB. Fields "Class" and "Ref" are both text with default precision.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rich&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Oct 2012 19:06:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742084#M57363</guid>
      <dc:creator>RichardThurau</dc:creator>
      <dc:date>2012-10-04T19:06:46Z</dc:date>
    </item>
    <item>
      <title>Re: SetValue help?</title>
      <link>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742085#M57364</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Your AttributeError is from the case sensitive name being wrong. So, start by spelling setValue correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;gt;&amp;gt; type(row.setValue) &amp;lt;type 'instancemethod'&amp;gt; &amp;gt;&amp;gt;&amp;gt; type(row.SetValue) Traceback (most recent call last): &amp;nbsp; File "E:\Program Files (x86)\Wing IDE 3.2\src\debug\tserver\_sandbox.py", line 1, in &amp;lt;module&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; # Used internally for debug sandbox under external interpreter &amp;nbsp; File "D:\ArcGIS\Desktop10.1\arcpy\arcpy\arcobjects\_base.py", line 28, in __getattr__ &amp;nbsp;&amp;nbsp;&amp;nbsp; raise AttributeError("%s" % attr) AttributeError: SetValue &amp;gt;&amp;gt;&amp;gt; &lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(It wasn't in arcgisscripting, but it is in arcpy, which is fully Pythonized.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you're operating on a raster attribute table, it's best to MakeTableView and than open the table view instead of trying to open the raster as a table.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dictionaries are totally the way to go with simple lookups like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;Lookups =[1,2,3,4] ClassList=["Tree_Canopy", "Impervious", "Vegetation", "Soil", "Water"] lookup = dict(zip(Lookups,ClassList)) ... for row in rows: &amp;nbsp;&amp;nbsp;&amp;nbsp; v = lookup[row.getValue("Value")] &amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue("Class", v) &amp;nbsp;&amp;nbsp;&amp;nbsp; row.setValue("Ref", v) &amp;nbsp;&amp;nbsp;&amp;nbsp; rows.updateRow(row)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, note the syntax of getValue and setValue - the first argument is a field name string ("Value"), not a field value (row.Value).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Oct 2012 20:29:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742085#M57364</guid>
      <dc:creator>curtvprice</dc:creator>
      <dc:date>2012-10-04T20:29:32Z</dc:date>
    </item>
    <item>
      <title>Re: SetValue help?</title>
      <link>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742086#M57365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;My stumbling blocks always result in learning something, but this post was one of the most useful for all my day to day tasks. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Curtis, thank you so much. Worked great, and I understand what's happening a lot more.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Rich&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Oct 2012 23:58:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/setvalue-help/m-p/742086#M57365</guid>
      <dc:creator>RichardThurau</dc:creator>
      <dc:date>2012-10-04T23:58:09Z</dc:date>
    </item>
  </channel>
</rss>

