calculate field in ARCGIS
Lydia
cssaua at hotmail.com
Thu Apr 9 16:40:25 EDT 2009
Thanks for the suggestion.
But I guess under Python this doesn't work. I tried putting the code in
different ways. But still not worked.
codeblock = "def codefun(code): \\
if code == 0: \\
return \"B\" \\
else: return \"\" "
----- Original Message -----
From: "Chris Rebert" <clp2 at rebertia.com>
To: "Lydia" <cssaua at hotmail.com>
Cc: <python-list at python.org>
Sent: Thursday, April 09, 2009 1:55 PM
Subject: Re: calculate field in ARCGIS
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