<?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: wanted: easyest way for field calculation with python in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39038#M3096</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, but it also might be easier to use a generator expression with &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;str.join&lt;/SPAN&gt;:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; string_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Hello"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; None&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; None&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Goodbye"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;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;s &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; s &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; string_list &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; s&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="string token"&gt;'Hello,Goodbye'&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 21:31:12 GMT</pubDate>
    <dc:creator>JoshuaBixby</dc:creator>
    <dc:date>2021-12-10T21:31:12Z</dc:date>
    <item>
      <title>wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39030#M3088</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd like to do some complicated field calculation.&lt;/P&gt;&lt;P&gt;I want to calculate the Field 6-value (see table below, representing a FeatureClass table) as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If Field 1 = 617: Field 3-value&lt;/P&gt;&lt;P&gt;Else: Field 2-value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND&lt;/P&gt;&lt;P&gt;"|"&lt;/P&gt;&lt;P&gt;AND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If Field 4 = ABC:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Field 5 is Null:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Sometext"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Someothertext" + Field 5&lt;/P&gt;&lt;P&gt;Else:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I entered the results in Field 6 as an example&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH style="width: 10%;"&gt;Field 1&lt;/TH&gt;&lt;TH style="width: 12%;"&gt;Field 2&lt;/TH&gt;&lt;TH style="width: 17%;"&gt;Field 3&lt;/TH&gt;&lt;TH style="width: 10%;"&gt;Field 4&lt;/TH&gt;&lt;TH style="width: 13.0977%;"&gt;Field 5&lt;/TH&gt;&lt;TH style="width: 41.9023%;"&gt;Field 6&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="width: 10%;"&gt;611&lt;/TD&gt;&lt;TD style="width: 12%;"&gt;from July 1&lt;/TD&gt;&lt;TD style="width: 17%;"&gt;April to November&lt;/TD&gt;&lt;TD style="width: 10%;"&gt;&lt;/TD&gt;&lt;TD style="width: 13.0977%;"&gt;TextWith_äöü&lt;/TD&gt;&lt;TD style="width: 41.9023%;"&gt;from July 1 |&amp;nbsp; Sometext&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 10%;"&gt;612&lt;/TD&gt;&lt;TD style="width: 12%;"&gt;from July 1&lt;/TD&gt;&lt;TD style="width: 17%;"&gt;April to November&lt;/TD&gt;&lt;TD style="width: 10%;"&gt;ABC&lt;/TD&gt;&lt;TD style="width: 13.0977%;"&gt;TextWith_äöü&lt;/TD&gt;&lt;TD style="width: 41.9023%;"&gt;from July 1 | Someothertext TextWith_äöü&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 10%;"&gt;612&lt;/TD&gt;&lt;TD style="width: 12%;"&gt;from July 15&lt;/TD&gt;&lt;TD style="width: 17%;"&gt;April to November&lt;/TD&gt;&lt;TD style="width: 10%;"&gt;ABC&lt;/TD&gt;&lt;TD style="width: 13.0977%;"&gt;&lt;/TD&gt;&lt;TD style="width: 41.9023%;"&gt;from July 15 | Someothertext&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="width: 10%;"&gt;617&lt;/TD&gt;&lt;TD style="width: 12%;"&gt;from July 1&lt;/TD&gt;&lt;TD style="width: 17%;"&gt;April to November&lt;/TD&gt;&lt;TD style="width: 10%;"&gt;ABC&lt;/TD&gt;&lt;TD style="width: 13.0977%;"&gt;&lt;/TD&gt;&lt;TD style="width: 41.9023%;"&gt;April to November | Someothertext&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Up until now, I exported the table and calculated the value with some "when"-statements in Excel. But since I'd like to have the results in GIS i searched for an other solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I ended up using "arcpy.CalculateField_management" and something like this:&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;compare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;class1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; class2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; class3&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; class1 &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;612&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;611&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; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; class2
&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; class1 &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;617&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="keyword token"&gt;return&lt;/SPAN&gt; class3
&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&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="keyword token"&gt;return&lt;/SPAN&gt; class1

&lt;SPAN class="comment token"&gt;# Expression below&lt;/SPAN&gt;

compare&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;!some_field!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !another_field!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !another_field2!&lt;SPAN class="punctuation token"&gt;)&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;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This didn't work quite well because&lt;/P&gt;&lt;P&gt;- the code will become huge (I have more fields and values to compare)&lt;/P&gt;&lt;P&gt;- there seem to be problems with converting/using characters which don't fit into ASCII&lt;/P&gt;&lt;P&gt;- i couldn't figure out how to ask properly if Field 5 is Null&lt;/P&gt;&lt;P&gt;- I could not properly translate the "AND" and the "OR" from Excel to Python (for example: If Field 4 is Null AND Field 5 is Null AND Field 1 is 612, Field 6 = ...)&lt;/P&gt;&lt;P&gt;-...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there an other, easyer solution how I can calculate Field 6 value?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:31:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39030#M3088</guid>
      <dc:creator>SilvanStöckli</dc:creator>
      <dc:date>2021-12-10T21:31:04Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39031#M3089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just to double check, the responses from &lt;A href="https://community.esri.com/thread/225406"&gt;arcpy.CalculateField_management - compare: how to return fieldvalues&lt;/A&gt; got you a working answer, you just have concerns about whether it is functional or optimal if scaled up?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Addressing some of your concerns:&lt;/P&gt;&lt;P&gt;-&amp;nbsp; "the code will become huge" not because of Python itself or the structure of the suggestions people provided in the referenced thread, the code will become huge because the logic is nested and you want to apply it to more and more fields.&lt;/P&gt;&lt;P&gt;- Python works fine with Unicode, in fact the default encoding for strings in Python 3.x is UTF-8.&amp;nbsp; What specific issues are you having?&lt;/P&gt;&lt;P&gt;- Regarding NULL, Python packages typically interpret/translate it as &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;None&lt;/SPAN&gt;, and this includes Esri tools.&amp;nbsp;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt; var is None&lt;/SPAN&gt; is the general syntax.&lt;/P&gt;&lt;P&gt;- AND and OR are implemented the same in Python as in all other programming languages.&amp;nbsp; In fact, Python has some really nice functions to simplify logical checks.&amp;nbsp; Your partial example above is implemented as:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new, courier, monospace;"&gt;fld4 is None and fld5 is None and fld6 == 612&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Python, just like in SQL and many other languages, "is" is reserved for singleton checking while the equality operator is used for checking values.&amp;nbsp; For example, the syntax is &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;fld6 == 612&lt;/SPAN&gt; and not &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;fld6 is 612&lt;/SPAN&gt;.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2018 16:31:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39031#M3089</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2018-12-05T16:31:39Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39032#M3090</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your psuedo code, example data, and test code all have differences and some of it appears incomplete. It's impossible to accurately determine what exactly your logic needs to be so here are some tips:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Ensure you're using the Python interpreter (&lt;SPAN style="color: #4d4d4d; background-color: #ffffff;"&gt;PYTHON_9.3)&lt;/SPAN&gt; in&amp;nbsp;Calculate Field.&lt;/LI&gt;&lt;LI&gt;Use &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;None&lt;/SPAN&gt; for null values. Something like &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;if Field5 is None:&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;Use the &lt;A href="https://docs.python.org/2/library/stdtypes.html#str.format"&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;str.format()&lt;/SPAN&gt; method&lt;/A&gt;&amp;nbsp;to ensure numbers are properly converted to strings when combining values.&lt;/LI&gt;&lt;LI&gt;Try adding&amp;nbsp;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;# -*- coding: latin-1 -*-&lt;/SPAN&gt; or&amp;nbsp;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;# -*- coding:&amp;nbsp;utf-8 -*-&lt;/SPAN&gt; at the beginning of your script (or the code block if running in ArcToolbox) to handle the special characters.&lt;/LI&gt;&lt;LI&gt;Check if Field1 has an integer or text datatype. If text, you'll need to put quotes around the numbers.&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://stackoverflow.com/a/2988117"&gt;You should use &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;==&lt;/SPAN&gt; for comparing values.&lt;/A&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2018 16:35:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39032#M3090</guid>
      <dc:creator>BlakeTerhune</dc:creator>
      <dc:date>2018-12-05T16:35:20Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39033#M3091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since the logic is incomplete, I can't say the following is exactly what you want, but it does reproduce Field 6 in your sample table:&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;combine&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;fld1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fld2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fld3&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fld4&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; fld5&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 &lt;SPAN class="operator 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; fld3 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; fld1 &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;617&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; fld2
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; part2 &lt;SPAN class="operator 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; &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; u&lt;SPAN class="string token"&gt;"Sometext"&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; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; fld5 &lt;SPAN class="keyword token"&gt;is&lt;/SPAN&gt; None
&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="keyword token"&gt;else&lt;/SPAN&gt; u&lt;SPAN class="string token"&gt;"Someothertext"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; fld5
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; fld4 &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; u&lt;SPAN class="string token"&gt;"ABC"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; u&lt;SPAN class="string token"&gt;"Sometext"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; u&lt;SPAN class="string token"&gt;"{} | {}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;part1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; part2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;



&lt;SPAN class="comment token"&gt;# Expression below&lt;/SPAN&gt;

combine&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;!field1!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !field2!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !field3!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !field4!&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; !field5!&lt;SPAN class="punctuation token"&gt;)&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;/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;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:31:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39033#M3091</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-10T21:31:06Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39034#M3092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="link-titled" href="http://pro.arcgis.com/en/pro-app/tool-reference/conversion/excel-to-table.htm" title="http://pro.arcgis.com/en/pro-app/tool-reference/conversion/excel-to-table.htm"&gt;Excel To Table—Conversion toolbox | ArcGIS Desktop&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;might be a better option if most of you work is done there and python isn't in your comfort realm just yet&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2018 19:31:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39034#M3092</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2018-12-05T19:31:46Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39035#M3093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there a way to convert the code from excel to arcgis? Because if not I will have to export the feature class-table to excel, apply the codes and join the new table to the feature class every time I change some data. That's what I try to avoid.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2018 08:09:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39035#M3093</guid>
      <dc:creator>SilvanStöckli</dc:creator>
      <dc:date>2018-12-06T08:09:35Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39036#M3094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Joshua&lt;/P&gt;&lt;P&gt;Thank you a lot for all of your help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After several hours of code typing, (at least in my opinion / compared to the excel-code) a kind of large code and several things not working (properly), I asked myself if there might be an easyer way to write the code. That's why I started thinking if I'm actually really using the easyest way to do it and therefore I opened this new thread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure if that makes a difference: I'm using ArcGIS 10.3 with python 2.7.8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I imported my example-table as a table to a GDB and run your code. It did not work:&lt;/P&gt;&lt;P dir="ltr" style="padding-left: 60px;"&gt;"Messages&lt;BR /&gt;Executing: CalculateField Tabelle Field_6 compare(!Field_1!, !Field_2!, !Field_3!, !Field_4!, !Field_5!) PYTHON_9.3 "def combine (fld1, fld2, fld3, fld4, fld5):\n&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 = (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fld3 \n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld1 == 617\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else fld2\n&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n&amp;nbsp;&amp;nbsp;&amp;nbsp; part2 = (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u"Sometext"\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld5 is None\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else u"Someothertext" + fld5\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld4 == u"ABC"\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else u"Sometext"\n&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n\n&amp;nbsp;&amp;nbsp;&amp;nbsp; return u"{} | {}".format(part1, part2)"&lt;BR /&gt;Start Time: Thu Dec 06 11:04:19 2018&lt;BR /&gt;ERROR 000539: Error running expression: compare(612.0, u"from July 1", u"April to November", u"ABC", u"TextWith_äöü") &lt;BR /&gt;Traceback (most recent call last):&lt;BR /&gt;&amp;nbsp; File "&amp;lt;expression&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;BR /&gt;TypeError: compare() takes exactly 3 arguments (5 given)&lt;/P&gt;&lt;P dir="ltr" style="padding-left: 60px;"&gt;Failed to execute (CalculateField).&lt;BR /&gt;Failed at Thu Dec 06 11:04:19 2018 (Elapsed Time: 0.02 seconds)"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can't figure out why it thinks that not all the arguments would be used...?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, I tried to simplify my code based on your model.&lt;/P&gt;&lt;P&gt;This works perfectly:&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;compare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Code&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; SchnittZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; WeideZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; NHG_YN&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 &lt;SPAN class="operator 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; &lt;SPAN class="string token"&gt;"-"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; Code &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;921&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;922&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;923&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;924&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; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"ERROR"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; part1‍‍‍‍‍‍‍‍&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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;then I tried to enter an other argument (line 6+7) - resulting in an error "ERROR 000989: Python syntax error: Parsing error SyntaxError: invalid syntax (line 7) Failed to execute (CalculateField).&amp;nbsp; ":&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;compare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Code&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; SchnittZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; WeideZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; NHG_YN&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 &lt;SPAN class="operator 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; &lt;SPAN class="string token"&gt;"-"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; Code &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;921&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;922&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;923&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;924&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; &lt;SPAN class="string token"&gt;"Text 634"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; Code &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;634&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Wrong code"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; part1p‍‍‍‍‍‍‍‍‍‍‍&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;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;So I thought, maybe I need to adjust the whole code like this:&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;compare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Code&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; SchnittZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; WeideZP&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; NHG_YN&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 &lt;SPAN class="operator 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; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; Code &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;921&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;922&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;923&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;924&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string 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; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; Code &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;634&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; &lt;SPAN class="string token"&gt;"Text 634"&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&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; &lt;SPAN class="string token"&gt;"Wrong code"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; part1‍‍‍‍‍‍‍‍‍‍‍‍&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;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;because I've never seen the order you put the result bevore the condition. (What's the difference? Why do you prefer result bevore condition? How can you enter en elif-statement?)&lt;/P&gt;&lt;P&gt;Anyway it gives back following error: "Runtime error&amp;nbsp; Traceback (most recent call last):&amp;nbsp;&amp;nbsp; File "&amp;lt;string&amp;gt;", line 56, in &amp;lt;module&amp;gt;&amp;nbsp;&amp;nbsp; File "c:\program files (x86)\arcgis\desktop10.3\arcpy\arcpy\management.py", line 3453, in CalculateField&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000989: Python syntax error: Parsing error SyntaxError: invalid syntax (line 4) Failed to execute (CalculateField). "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to handle this by changing row 4 to&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;value &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"-"&lt;/SPAN&gt;‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;and in the end "return value" but it didn't change anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the other useful hints about "my concerns"!&lt;/P&gt;&lt;P&gt;I will try to implement some of your hints and explain my problems with unicode later &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:31:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39036#M3094</guid>
      <dc:creator>SilvanStöckli</dc:creator>
      <dc:date>2021-12-10T21:31:09Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39037#M3095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank your for all those tips!&lt;BR /&gt;&lt;BR /&gt;Concerning 3. str.format: is there a way to put together two strings and when one of them is "NULL/empty", ignore it and only take the "not empty" string?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2018 18:20:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39037#M3095</guid>
      <dc:creator>SilvanStöckli</dc:creator>
      <dc:date>2018-12-06T18:20:41Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39038#M3096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, but it also might be easier to use a generator expression with &lt;SPAN style="font-family: courier new, courier, monospace;"&gt;str.join&lt;/SPAN&gt;:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; string_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Hello"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; None&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; None&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Goodbye"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;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;s &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; s &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; string_list &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; s&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="string token"&gt;'Hello,Goodbye'&lt;/SPAN&gt;
&lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&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;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:31:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39038#M3096</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2021-12-10T21:31:12Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39039#M3097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looking at your error message:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P dir="ltr" style="padding-left: 60px;"&gt;"Messages&lt;BR /&gt;Executing: CalculateField Tabelle Field_6 compare(!Field_1!, !Field_2!, !Field_3!, !Field_4!, !Field_5!) PYTHON_9.3 "def combine (fld1, fld2, fld3, fld4, fld5):\n&amp;nbsp;&amp;nbsp;&amp;nbsp; part1 = (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fld3 \n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld1 == 617\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else fld2\n&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n&amp;nbsp;&amp;nbsp;&amp;nbsp; part2 = (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u"Sometext"\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld5 is None\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else u"Someothertext" + fld5\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fld4 == u"ABC"\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else u"Sometext"\n&amp;nbsp;&amp;nbsp;&amp;nbsp; )\n\n&amp;nbsp;&amp;nbsp;&amp;nbsp; return u"{} | {}".format(part1, part2)"&lt;BR /&gt;Start Time: Thu Dec 06 11:04:19 2018&lt;BR /&gt;ERROR 000539: Error running expression: compare(612.0, u"from July 1", u"April to November", u"ABC", u"TextWith_äöü") &lt;BR /&gt;Traceback (most recent call last):&lt;BR /&gt;&amp;nbsp; File "&amp;lt;expression&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;BR /&gt;TypeError: compare() takes exactly 3 arguments (5 given)&lt;/P&gt;&lt;P dir="ltr" style="padding-left: 60px;"&gt;Failed to execute (CalculateField).&lt;BR /&gt;Failed at Thu Dec 06 11:04:19 2018 (Elapsed Time: 0.02 seconds)"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My function is called "combine" and takes 5 inputs, you called "compare."&amp;nbsp; You need to update your expression field to call the correct function.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2018 18:58:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39039#M3097</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2018-12-06T18:58:27Z</dc:date>
    </item>
    <item>
      <title>Re: wanted: easyest way for field calculation with python</title>
      <link>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39040#M3098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Most of your issues seem to be 'basic' python issues that can be resolved with a little experience and have mostly been answered.&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;e.g.&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="color: #666699;"&gt;&lt;EM&gt;-there seem to be problems with converting/using characters which don't fit into ASCII&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="color: #666699;"&gt;&lt;EM&gt;- i couldn't figure out how to ask properly if Field 5 is Null&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="border: 0px;"&gt;&lt;SPAN style="color: #666699;"&gt;&lt;EM&gt;- I could not properly translate the "AND" and the "OR" from Excel to Python (for example: If Field 4 is Null AND Field 5 is Null AND Field 1 is 612, Field 6 = ...)&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;When it comes to this point, I feel your excel formulaes, or whatever other method you use will require the same amount of code / a big formulae. Do you see this differently?&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #666699;"&gt;- the code will become huge (I have more fields and values to compare)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Anyways, to come from a different angle, answers to date seem to be focused on a more functional programming style. I like to try and break down my problem, and write as much code in more descriptive 'english' as I can, Ill provide a sample code showing what I mean by this but as its hard to work out what your doing it might come across badly!&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;I tested this in ArcMap and it works great. You do need to add logic for the "Uncaught text"&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;def &lt;/SPAN&gt;compare(code_field, date_field1, date_field2, text_field1, text_field2):
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080;"&gt;# -*- coding: latin-1 -*- or # -*- coding: utf-8 -*-
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;def &lt;/SPAN&gt;get_date_text():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;code_field == &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'617'&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;str&lt;/SPAN&gt;(date_field2)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;str&lt;/SPAN&gt;(date_field1)

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;def &lt;/SPAN&gt;get_sometext_string():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;text_field1 == &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'ABC' &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;and &lt;/SPAN&gt;text_field2 &lt;SPAN style="color: #000080; font-weight: bold;"&gt;is &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;None&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Sometext"
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;elif &lt;/SPAN&gt;text_field1 == &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'ABC' &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;and &lt;/SPAN&gt;text_field2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Someothertext"
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;else&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"UNCAUGHT_TEXT"
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;def &lt;/SPAN&gt;get_otherfield_data():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;if &lt;/SPAN&gt;text_field1 == &lt;SPAN style="color: #008000; font-weight: bold;"&gt;'ABC' &lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;and &lt;/SPAN&gt;text_field2 &lt;SPAN style="color: #000080; font-weight: bold;"&gt;is not &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;None&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;text_field2.encode(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"UTF-8"&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;else&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; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;""
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;#First I will work out each of the "Parts" that I need to represent in the output text and make a variable for these
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #(This bit isnt really needed, but helps us picture what we are going to do in our head)
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;date_text &lt;/SPAN&gt;= &lt;SPAN style="color: #008000; font-weight: bold;"&gt;""
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;divider = &lt;SPAN style="color: #008000; font-weight: bold;"&gt;' | '
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;string_about_sometext &lt;/SPAN&gt;= &lt;SPAN style="color: #008000; font-weight: bold;"&gt;""
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;other_field_data &lt;/SPAN&gt;= &lt;SPAN style="color: #008000; font-weight: bold;"&gt;""
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;#Now I know what I need to populate, I can write a function thinknig about each bit seperately, then put it all together later.
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;date_text = get_date_text()
&amp;nbsp;&amp;nbsp;&amp;nbsp; string_about_sometext = get_sometext_string()
&amp;nbsp;&amp;nbsp;&amp;nbsp; other_field_data = get_otherfield_data()


&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #808080;"&gt;#Now I should have everything, ready to combine into an answer
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #(I would normally write this code using other string functions, but to keep it simpler am just combining all the strings and making sure each function returns a string)
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;final_text = date_text + divider + string_about_sometext + other_field_data

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;return &lt;/SPAN&gt;final_text&lt;/PRE&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;#Expression&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;compare( !Field1! , !Field2! , !Field3! , !Field4! , !Field5! )&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:31:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/wanted-easyest-way-for-field-calculation-with/m-p/39040#M3098</guid>
      <dc:creator>LukeWebb</dc:creator>
      <dc:date>2021-12-10T21:31:15Z</dc:date>
    </item>
  </channel>
</rss>

