2 votos

Uso de sentencias If para rellenar condicionalmente un campo en Field Calculator

Estoy tratando de usar la calculadora de campos para rellenar un campo de cadena en una tabla basada en la información de otro campo de cadena. Esto es lo que tengo:

def Reclass(Correction_Comments):
     if (MSAGSTREETNAME) = 'HEMLOCK':
         return 'IN PARCEL 103'

En el buzón de llamadas:

Reclass( !Correction_Comments!)

Sigo recibiendo un error de análisis. ¿Qué ocurre?

5voto

evolutionxbox Puntos 133

El parámetro "Correction_Comments" de su función no se utiliza en absoluto dentro de la función. En su lugar, hay una variable "MSAGSTREETNAME", una variable local a la que no se hace referencia en ninguna otra parte. Además, la sentencia if está utilizando una asignación (=) en lugar de una prueba (==).

Modificaciones:

def Reclass(streetnamefield):
     if streetnamefield == 'HEMLOCK':
         return 'IN PARCEL 103'

Reclass( !Correction_Comments!)

Esto pasará el campo Correction_Comments en su Reclass función. En su lugar, es posible que desee ejecutar esto en la calculadora de campo para el Correction_Comments campo, contra el MGAGSTREETNAME campo, por ejemplo, haciendo clic con el botón derecho del ratón Correction_Comments , Calculadora de campo, y ejecutar con Reclass(!MGAGSTREETNAME!) .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X