以前使用的时候都仅仅只限于写一个自定义函数:
类似于这种简单的比较函数:
表达式:
function(!m!,!n!) #!m!,!n! 为字段名称
表达式类型: PYTHON_9.3
代码块:
def function(a,b): #比较a字段与b字段的值,取其中的小值
if float(a)==float(b):
return "相等"
if float(a)>float(b):
return "b"
if float(a)<float(b):
return "a"
今儿在使用字段计算器的突发奇想,能不在代码块中添加更丰富的arcpy代码,实现更多的功能,比如将本图层基本信息及其他不属于属性表的信息添加入属性表,通过字段计算:
在字段计算器下,运行“字段计算”的arcpy代码:arcpy.CalculateField_management(layer, fieldName, expression, "PYTHON_9.3")
添加字段的操作:arcpy.AddField_management(layer, "ceshi", "TEXT", "", "", "20") 最终发现添加字段并不能成功运行
发现运行代码的参数中都存在layer,因此手动添加该layer的路径:
layer=r'E:\cs\cs.shp'