<?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: Using lists in arcpy.UpdateCursor function in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205062#M15791</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If you want to refer to rows as lists like that, you likely want to be using &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;arcpy.da.UpdateCursor&lt;/SPAN&gt;&lt;SPAN&gt;, not &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;arcpy.UpdateCursor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 01 Jul 2013 19:53:27 GMT</pubDate>
    <dc:creator>JasonScheirer</dc:creator>
    <dc:date>2013-07-01T19:53:27Z</dc:date>
    <item>
      <title>Using lists in arcpy.UpdateCursor function</title>
      <link>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205061#M15790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I keep getting the following error and can't figure out why... I'm new to Python and I'm trying to figure out how to iterate through all feature classes within a geodatabase (because they all have the same attributes) and remove old data from certain fields if new data exists in another field for the same record.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;Traceback (most recent call last):
&amp;nbsp; File "...", line 31, in &amp;lt;module&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.UpdateCursor(fc,fields) as cursor:
AttributeError: __exit__&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And here's my script...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;#This script is designed to remove legacy accuracy data from a file
#geodatabase if updated accuracy data exists. Legacy accuracy data are
#stored in each feature class under the following field names: B, C,
#D, E, F, G, H, I, J, K, and L. Current accuracy data is stored in a
#field called A. The script evaluates the value in the A field, if the
#value is greater than zero and not null the data in the legacy fields
#for that record need to be set to zero or Null if it is a string
#field.

import arcpy

#Define a workspace

arcpy.env.workspace = r"C:\Example.gdb"

#Create a list of feature classes

fcList = arcpy.ListFeatureClasses()

#Assign variable fields

fields =("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L")

#Loop through each feature class and set to zero or Null the values in
#the legacy accuracy fields (B-L) if data exists in the A field for
#that record

for fc in fcList:
&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.UpdateCursor(fc,fields) as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (row[0] &amp;gt; 0 and row[0] &amp;lt;&amp;gt; "&amp;lt;Null&amp;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; row[1] = 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; row[2] = 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; row[3] = 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; row[4] = 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; row[5] = 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; row[6] = 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; row[7] = "&amp;lt;Null&amp;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; row[8] = "&amp;lt;Null&amp;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; row[9] = "&amp;lt;Null&amp;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; row[10] = "&amp;lt;Null&amp;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; row[11] = "&amp;lt;Null&amp;gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.updateRow(row)

&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any direction would be appreciated! Thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kerry&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jul 2013 19:48:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205061#M15790</guid>
      <dc:creator>kg76</dc:creator>
      <dc:date>2013-07-01T19:48:03Z</dc:date>
    </item>
    <item>
      <title>Re: Using lists in arcpy.UpdateCursor function</title>
      <link>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205062#M15791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If you want to refer to rows as lists like that, you likely want to be using &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;arcpy.da.UpdateCursor&lt;/SPAN&gt;&lt;SPAN&gt;, not &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;arcpy.UpdateCursor&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jul 2013 19:53:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205062#M15791</guid>
      <dc:creator>JasonScheirer</dc:creator>
      <dc:date>2013-07-01T19:53:27Z</dc:date>
    </item>
    <item>
      <title>Re: Using lists in arcpy.UpdateCursor function</title>
      <link>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205063#M15792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In addition to using &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;arcpy.da.UpdateCursor&lt;/SPAN&gt;&lt;SPAN&gt;, as Jason said, you will also need to tab &lt;/SPAN&gt;&lt;SPAN style="font-family:Courier New;"&gt;cursor.updateRow(row)&lt;/SPAN&gt;&lt;SPAN&gt; across, so that it is within the for loop, meaning that it happens once per row, i.e.:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;for fc in fcList:
&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.UpdateCursor(fc,fields) as cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (row[0] &amp;gt; 0 and row[0] &amp;lt;&amp;gt; "&amp;lt;Null&amp;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;&amp;nbsp;&amp;nbsp; cursor.updateRow(row)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 10:09:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205063#M15792</guid>
      <dc:creator>StacyRendall1</dc:creator>
      <dc:date>2021-12-11T10:09:35Z</dc:date>
    </item>
    <item>
      <title>Re: Using lists in arcpy.UpdateCursor function</title>
      <link>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205064#M15793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; &lt;BR /&gt; &lt;BR /&gt;And here's my script...&amp;nbsp; &lt;BR /&gt; &lt;BR /&gt; &lt;PRE class="lia-code-sample line-numbers language-none"&gt;#This script is designed to remove legacy accuracy data from a file
#geodatabase if updated accuracy data exists. Legacy accuracy data are
#stored in each feature class under the following field names: B, C,
#D, E, F, G, H, I, J, K, and L. Current accuracy data is stored in a
#field called A. The script evaluates the value in the A field, if the
#value is greater than zero and not null the data in the legacy fields
#for that record need to be set to zero or Null if it is a string
#field.

import arcpy

#Define a workspace

arcpy.env.workspace = r"C:\Example.gdb"

#Create a list of feature classes

fcList = arcpy.ListFeatureClasses()

#Assign variable fields

fields = &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;[&lt;/SPAN&gt;"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"&lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;]&lt;/SPAN&gt;

#Loop through each feature class and set to zero or Null the values in
#the legacy accuracy fields (B-L) if data exists in the A field for
#that record

for fc in fcList:
&amp;nbsp;&amp;nbsp;&amp;nbsp; with arcpy.&lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;da&lt;/SPAN&gt;.UpdateCursor(fc,fields) as cursor:&amp;nbsp; # the code below is for the da.cursor, not original cursor, so I assumed you meant this one.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in cursor:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (row[0] &amp;gt; 0 and row[0] &lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;is not None&lt;/SPAN&gt;):&amp;nbsp; # this is how to test for NULL in python
&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; row[1] = 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; row[2] = 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; row[3] = 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; row[4] = 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; row[5] = 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; row[6] = 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; row[7] = None&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; row[8] = None
&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; row[9] = None
&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; row[10] = None
&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; row[11] = None
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.updateRow(row)&amp;nbsp; #indent this so it updates the row before next row in cursor

&lt;/PRE&gt; &lt;BR /&gt; &lt;BR /&gt;Any direction would be appreciated! Thanks.&amp;nbsp; &lt;BR /&gt; &lt;BR /&gt;Kerry&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can't really test it now, but might be due to loading the fileds in as tuple rather than a list. Also, python doesn't have if x == Null, need to test for is or is not None.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course, all this code assumes that all your fields in the fields list are numeric, otherwise, would need quotes (except for the None's).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, this won't perform the update "if data exists for field A", but if there is a numeric value in field A that is greater than 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (str(row[0]) is not None:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (len(str(row[0])) &amp;gt;= 1: would be a couple possible tests for if A has data (including zeros)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;R_&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 10:09:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/using-lists-in-arcpy-updatecursor-function/m-p/205064#M15793</guid>
      <dc:creator>RhettZufelt</dc:creator>
      <dc:date>2021-12-11T10:09:38Z</dc:date>
    </item>
  </channel>
</rss>

