<?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: Calculate field in python if else statement in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378847#M12947</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi I have the following code. Basically I am trying to say when the field "daily_minFlag" equals 's', then I want to calculate the "daily_min" field to be null.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"
&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !daily_min!"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;I am getting an error when using the else statement. If I replace "return !daily_min!" with "return 1", it works fine, but I don't want it to equal 1, I want it to not change the daily_min value. So I think there is something wrong with my !daily_min! syntax. Thank you.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You have to feed in both the flag and the daily_min fields through your expression into the code block.&amp;nbsp; So it should be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"
&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!, !daily_min!)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag, daily_min):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return daily_min"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 17:29:53 GMT</pubDate>
    <dc:creator>RichardFairhurst</dc:creator>
    <dc:date>2021-12-11T17:29:53Z</dc:date>
    <item>
      <title>Calculate field in python if else statement</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378846#M12946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi I have the following code. Basically I am trying to say when the field "daily_minFlag" equals 's', then I want to calculate the "daily_min" field to be null.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"
&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !daily_min!"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am getting an error when using the else statement. If I replace "return !daily_min!" with "return 1", it works fine, but I don't want it to equal 1, I want it to not change the daily_min value. So I think there is something wrong with my !daily_min! syntax. Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2014 20:13:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378846#M12946</guid>
      <dc:creator>AndrewL</dc:creator>
      <dc:date>2014-01-21T20:13:33Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate field in python if else statement</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378847#M12947</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi I have the following code. Basically I am trying to say when the field "daily_minFlag" equals 's', then I want to calculate the "daily_min" field to be null.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"
&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !daily_min!"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;I am getting an error when using the else statement. If I replace "return !daily_min!" with "return 1", it works fine, but I don't want it to equal 1, I want it to not change the daily_min value. So I think there is something wrong with my !daily_min! syntax. Thank you.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You have to feed in both the flag and the daily_min fields through your expression into the code block.&amp;nbsp; So it should be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"
&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!, !daily_min!)"
&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag, daily_min):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return daily_min"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 17:29:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378847#M12947</guid>
      <dc:creator>RichardFairhurst</dc:creator>
      <dc:date>2021-12-11T17:29:53Z</dc:date>
    </item>
    <item>
      <title>Re: Calculate field in python if else statement</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378848#M12948</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks! I was getting an error but I changed the return "" to return None and that works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldName = "daily_min"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; expression = "getClass(!daily_minFlag!, !daily_min!)"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; codeblock = """def getClass(minFlag, daily_min):&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if minFlag == 's':&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return None&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return daily_min"""&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_feature_class, fieldName, expression, "PYTHON_9.3", codeblock)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jan 2014 13:20:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/calculate-field-in-python-if-else-statement/m-p/378848#M12948</guid>
      <dc:creator>AndrewL</dc:creator>
      <dc:date>2014-01-22T13:20:40Z</dc:date>
    </item>
  </channel>
</rss>

