Ho scoperto che in 10.0 Field Calculator è abbastanza strano.
Ma sono riuscito a farlo funzionare. L'idea principale è di racchiudere il nome del campo tra virgolette singole.
Esempio. supponiamo che abbiamo campi text1
e text2
. Invece di Calcolo campo text2
con l'espressione !text1!
, che probabilmente fallirà, provate questo: '!text1'
. Come vedi sto usando virgolette singole qui.
Quindi, tornando al tuo compito. Sarà più chiaro usare il codice di script pre-logico:
def calc(value):
return value.replace('"', '')
L'espressione sarà:
calc('!text1!')
Spero che funzionerà per te.
Non ho sperimentato ulteriormente, ma penso che questo strano comportamento si verifichi perché il calcolo del campo viene tradotto nella chiamata allo strumento ArcToolbox CalculateField_management
e l'espressione viene fornita come parametro (probabilmente racchiusa tra virgolette singole o doppie).
AGGIORNARE:
La mia soluzione precedente fallirà nel caso in cui ci siano virgolette singole nei valori di campo text1
.
Ora sono riuscito a farlo funzionare sia nel caso in cui ci siano caratteri '
sia "
(virgolette singole e doppie) all'interno di qualsiasi valore nell'attributo text1
.
Ecco espressione, che restituirà una stringa originale, supportando entrambi i tipi di virgolette:
'''!text1!'''[1:-1]
Per la tua attività può essere esteso a (senza il codice di script pre-logico):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]