Estoy tratando de usar la Calculadora de campo (ArcMap 10.0) para eliminar las comillas dobles en un campo de dirección (no las puse allí, créanme). He intentado muchos encantamientos pero aún no puedo despegar con un cálculo. Sí, ambos campos son cadenas y ambos tienen una longitud aceptable.
Este calculo:
Resultados en esto:
Con este mensaje de error en el cuadro de diálogo Resultados:
Y repito, no los puse allí.
arcgis-desktop
arcgis-10.0
arcmap
field-calculator
python-parser
válvula de Londres
fuente
fuente
!testing![1:len(!testing!)-1]
Respuestas:
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
ytext2
. En lugar de calcular el campotext2
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:
La expresión será:
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 atributotext1
.Aquí está la expresión, que devolverá la cadena original, que admite ambos tipos de comillas:
Para su tarea, puede extenderse a (sin código de secuencia de comandos pre-lógica):
fuente
'!testing!'
Si está utilizando la versión 10.1 y está seguro de que desea deshacerse de todas las instancias de comillas dobles que puede usar:
Si alguien sabe por qué esto funciona en 10.1 y no en 10.0, me interesaría.
Aquí están los resultados de mi carrera.
fuente
Aquí hay una forma de hacerlo sin guión.
"
seleccione Reemplazar todo (deberá hacer clic dos veces en el botón Reemplazar todo).fuente
Un enfoque híbrido funcionó en mi sistema:
fuente
No he probado esto dentro de Arc, pero pude eliminar las comillas dobles de una cadena en un IDE de Python de esta manera (rápida):
prueba de impresiones a2, sin comillas.
fuente
hola intenta usar comillas simples como esta! test! .replace ('"', '')
fuente
Lo encontré bastante fácil con la antigua función VBScript:
Replace ([testing],"""","")
fuente