J'ai trouvé que dans 10.0 Field Calculator, c'est assez bizarre.
Mais j'ai réussi à le faire fonctionner. L'idée principale est de mettre le nom du champ entre guillemets simples.
Exemple. supposons que nous ayons des champs text1
et text2
. Plutôt que de calculer le terrain text2
avec l' expression !text1!
, ce qui va probablement échouer, essayez celui - ci: '!text1'
. Comme vous le voyez, j'utilise des guillemets simples ici.
Revenons donc à votre tâche. Il sera plus clair d'utiliser le code de script pré-logique:
def calc(value):
return value.replace('"', '')
L'expression sera:
calc('!text1!')
J'espère que cela fonctionnera pour vous.
Je n'ai pas expérimenté plus loin, mais je pense qu'un tel comportement étrange se produit car le calcul du champ est traduit dans l'appel à l'outil ArcToolbox CalculateField_management
et l'expression est fournie en tant que paramètre (probablement également en plus avec des guillemets simples ou doubles).
MISE À JOUR:
Ma solution précédente échouera au cas où il y aurait des guillemets simples dans les valeurs de champ text1
.
Maintenant, j'ai réussi à le faire fonctionner au cas où il y aurait des caractères '
et "
(guillemets simples et doubles) à l'intérieur d'une valeur d'attribut text1
.
Voici l'expression, qui renverra la chaîne d'origine, prenant en charge les deux types de guillemets:
'''!text1!'''[1:-1]
Pour votre tâche, il peut être étendu à (sans code de script pré-logique):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]