calculate field in ARCGIS

Chris Rebert clp2 at rebertia.com
Thu Apr 9 21:55:17 CEST 2009


On Thu, Apr 9, 2009 at 12:42 PM, Lydia <cssaua at hotmail.com> wrote:
> Hi Python users,
>
> I ran into a problem with python coding in ARCGIS. Does anybody have the
> experience in dealing with this?
>
> I need to calculate NEWFIELD based on OLDFIELD under condition: if  OLDFIELD
> == 0 then return string "B" otherwise return "".
>
> codeblock = "def codefun(code): if code == 0: return \"B\" else: return \"\"
> "
>
> gp.CalculateField_management("INFILE", "OLDFIELD", "codefun(!NEWFIELD!",
> "PYTHON", codeblock)
> I got error:
>
> RuntimeError:
> exceptions.SyntaxError: invalid syntax (line 1)
> Failed to execute (CalculateField).

Might I recommend you try using the multiline equivalent (assuming
ArcGIS supports C-style escape sequences):

codeblock = "def codefun(code):\n\tif code == 0:\n\t\treturn
\"B\"\n\telse:\n\t\treturn \"\" "

Cheers,
Chris

-- 
I have a blog:
http://blog.rebertia.com



More information about the Python-list mailing list