我是 python 脚本的新手,我主要在 ArcGIS 10 中使用它。我的脚本应该重新格式化字段 CINTP1 中的字符串。一个示例是“000000100”并返回“1.00”。我已将它导入到工具箱中,以便在表 'MAPCHAR' 中的选定记录上运行。我不断收到的错误是:
:错误000539:错误运行表达式:removeLeadingZeros(“000000100”):未定义全局名称're'执行失败(CalculateField)。
执行失败(脚本)。
这是我的脚本:
import arcpy, re, sys, string, os
MAPCHAR = "MAPCHAR"
CINPT1 = "CINPT1"
expression = "removeLeadingZeros(!CINPT1!)"
codeblock = """def removeLeadingZeros(myValue):
newValue = re.sub('^0+',"",myValue)
valueList = list(newValue) #convert newValue to List
valueList.insert(-2, '.') #insert the '.' characater int the list at the -2 position
newValue = "".join(valueList) #join back to create the new updated string
myvalue = newValue"""
arcpy.CalculateField_management(MAPCHAR, CINPT1, expression, "Python", codeblock)
任何帮助将不胜感激..谢谢,