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" <c...@rebertia.com>
To: "Lydia" <css...@hotmail.com>
Cc: <python-list@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 <css...@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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to