Saya telah menemukan bahwa di 10.0 Field Calculator cukup aneh.
Tapi saya sudah berhasil membuatnya bekerja. Gagasan utamanya adalah melampirkan nama bidang dengan tanda kutip tunggal.
Contoh. misalkan kita punya ladang text1
dan text2
. Daripada Menghitung lapangan text2
dengan ekspresi !text1!
, yang mungkin akan gagal, mencoba yang satu ini: '!text1'
. Seperti yang Anda lihat saya menggunakan tanda kutip tunggal di sini.
Jadi, kembali ke tugasmu. Akan lebih jelas untuk menggunakan Kode Naskah Pra-Logika:
def calc(value):
return value.replace('"', '')
Ekspresi akan menjadi:
calc('!text1!')
Saya harap ini akan berhasil untuk Anda.
Saya belum bereksperimen lebih jauh tapi saya pikir perilaku aneh seperti itu terjadi karena perhitungan bidang diterjemahkan ke dalam panggilan ke alat ArcToolbox CalculateField_management
dan ekspresi disediakan sebagai parameter untuk itu (mungkin juga disertai dengan tanda kutip tunggal atau ganda).
MEMPERBARUI:
Solusi saya sebelumnya akan gagal jika ada tanda kutip tunggal dalam nilai-nilai bidang text1
.
Sekarang saya telah berhasil membuatnya bekerja baik dalam kasus ketika ada karakter '
dan "
(tanda kutip tunggal dan ganda) di dalam nilai apa pun di atribut text1
.
Inilah ekspresi, yang akan mengembalikan string asli, mendukung kedua jenis kutipan:
'''!text1!'''[1:-1]
Untuk tugas Anda, dapat diperluas ke (tanpa Kode Skrip Pra-Logika):
'''!text1!'''[1:-1].replace('"', '')
!testing![1:len(!testing!)-1]