He encontrado que en 10.0 Field Calculator es bastante raro.
Pero he logrado que funcione. La idea principal es encerrar el nombre del campo con comillas simples.
Ejemplo. supongamos que tenemos campos text1
y text2
. En lugar de calcular el campo text2
con la expresión !text1!
, lo que probablemente se producirá un error, prueba este: '!text1'
. Como puede ver, estoy usando comillas simples aquí.
Entonces, de vuelta a su tarea. Será más claro usar el código de secuencia de comandos pre-lógica:
def calc(value):
return value.replace('"', '')
La expresión será:
calc('!text1!')
Espero que funcione para ti.
No he experimentado más, pero creo que ese comportamiento extraño ocurre porque el cálculo de campo se traduce en la llamada a la herramienta ArcToolbox CalculateField_management
y la expresión se proporciona como un parámetro (probablemente también entre comillas simples o dobles).
ACTUALIZAR:
Mi solución anterior fallará en caso de que haya comillas simples en los valores de campo text1
.
Ahora he logrado que funcione tanto en caso de que haya caracteres '
y "
(comillas simples y dobles) dentro de cualquier valor en el atributo text1
.
Aquí está la expresión, que devolverá la cadena original, que admite ambos tipos de comillas:
'''!text1!'''[1:-1]
Para su tarea, puede extenderse a (sin código de secuencia de comandos pre-lógica):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]