我有一個大的(> 1000)數量的文件,其中有包含定義爲文本字段的數字的字段。我需要將包含這些值的字段作爲數字。我可以添加新的字段,但是當我無法填充它們時。將字符串字段轉換爲弧形中的數字字段
我正在使用ArcGis 10.1。行的值可能在0-10之間,包括最多一位小數,或者它們可能對於變量(實際上是空白的,沒有佔位符)是空的。
下面是我用於兩個變量(N_CT
和N_CFY
)的python腳本,以及我得到的錯誤。看起來我的問題是如何將文本值轉換爲Decimal轉換。
我不熟悉腳本,所以請原諒,如果我的描述或詞的選擇不清楚。
import arcpy, os, sys
from arcpy import env
from decimal import *
arcpy.env.overwriteOutput = True
env.workspace = "C:\Users\OuelletteMS\Desktop\Ice_Data_testarea"
listFCs = arcpy.ListFeatureClasses("*")
for fc in listFCs:
print str("processing " + fc) # displays the file that is currently being handled
strNCT = "N_CT" # the current, text version of the field
newNCT = "NCT" # the new, number version I want to create
strNCFY = "N_CFY" # the current, text version of the field
newNCFY = "NCFY" # the new, number version I want to create
arcpy.AddField_management(fc,newNCT,"DOUBLE")
arcpy.AddField_management(fc,newNCFY,"DOUBLE")
cursor = arcpy.UpdateCursor(fc)
for row in cursor:
row.setValue(newNCT, row.getValue(Decimal(strNCT)))
row.setValue(newNCFY, row.getValue(Decimal(strNCFY)))
cursor.updateRow(row)
錯誤mesage:
運行時錯誤回溯(最近通話最後一個):文件 「」, 23行,在文件「C:\ Python27 \ ArcGIS10.1 \ LIB \小數。 py「, line 548,in new 」Decimal文字無效:%r「%value)_raise_error中的文件」C:\ Python27 \ ArcGIS10.1 \ Lib \ decimal.py「,第3844行,引發錯誤 (解釋)InvalidOperation:十進制字符無效:'N_CT'
我意識到,我沒有這個職位的GIS論壇,我打算這樣做。有沒有辦法將它移動到該論壇? – markouellette