使用python覆盖属性表

时间:2015-04-20 16:55:17

标签: python overwrite arcpy

当我尝试使用python代码添加字段并使用geometry(x和y)将字段更新为要素类的属性表时,它会给我这个错误:

  

字段A已存在
          无法执行(AddField)。

我用过

  arcpy.env.overwriteOutput = True

在我的代码中但似乎没有用。

如何覆盖要素类的属性表?这种覆盖代码是否也适用于覆盖属性表?我知道即使是地理处理,代码也不会有效。

1 个答案:

答案 0 :(得分:1)

arcpy.env.overwriteOutput将覆盖现有数据集,而不是现有字段。

你应该知道该字段是否存在,如果存在,则:

删除并重新添加:

if len(arcpy.ListFields(your_dataset, A)) > 0:
  arcpy.DeleteField_management(your_dataset, A)
  arcpy.AddField_management(your_dataset, A, field_type)

不添加它:

if len(arcpy.ListFields(your_dataset, A)) > 0:
  arcpy.AddMessage("Field A already exists")
else:
  arcpy.AddField_management(your_dataset, A, field_type)