Я обнаружил, что в 10.0 Field Calculator довольно странно.
Но мне удалось заставить его работать. Основная идея заключается в том, чтобы заключить имя поля в одинарные кавычки.
Пример. Предположим, у нас есть поля text1
и text2
. Вместо расчета поля text2
с выражением !text1!
, которое , вероятно , потерпит неудачу, попробуйте это: '!text1'
. Как вы видите, я использую здесь одинарные кавычки.
Итак, вернемся к вашей задаче. Будет более понятно использовать код Pre-Logic Script:
def calc(value):
return value.replace('"', '')
Выражение будет:
calc('!text1!')
Я надеюсь, что это будет работать для вас.
Я не экспериментировал дальше, но думаю, что такое странное поведение происходит, потому что вычисление поля переводится в вызов инструмента ArcToolbox, CalculateField_management
а выражение предоставляется в качестве параметра к нему (возможно, дополнительно заключено в одинарные или двойные кавычки).
ОБНОВИТЬ:
Мое предыдущее решение не удастся, если в значениях поля есть одинарные кавычки text1
.
Теперь мне удалось заставить его работать как в случае, когда есть символы '
и "
(одинарные и двойные кавычки) внутри любого значения в атрибуте text1
.
Вот выражение, которое будет возвращать исходную строку, поддерживающую оба типа кавычек:
'''!text1!'''[1:-1]
Для вашей задачи он может быть расширен до (без кода Pre-Logic Script):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]