Skip to main content

字段相关

汇总

  • arcpy.ListFields(tar:str)
  • arcpy.AddField_management(tar, field_name:str)
  • arcpy.DeleteField_management(tar, [field_names])
  • arcpy.UpdateCursor()
  • arcpy.da.UpdateCursor()

查询字段

  • arcpy.ListFields(tar:str)
  • tar - 可以是 shp文件,可以是个人地理数据库
  • 返回字段对象的列表,字段对象有 nametype、等属性

用例:

def check_field(tar, field_name):
fields_list = arcpy.ListFields(tar)
for field in fields_list:
if not str(field.name) == str(field_name):
arcpy.AddField_management(
input_point,
field_type="TEXT",
field_name=field_name)

添加字段

  • arcpy.AddField_management(tar, field_name:str)
    • tar - 可以是 shp文件,可以是个人地理数据库
    • field_name - 需要可添加的字段名

用例:

arcpy.AddField_management(
input_point,
field_type="TEXT",
field_name=field_name)

删除字段

  • arcpy.DeleteField_management(tar, [field_names])
    • tar - 可以是 shp文件,可以是个人地理数据库
    • [field_name ]- 需要可添加的字段名

用例:

# 删除多个字段
arcpy.DeleteField_management(inf,['NEAR_FID','NEAR_DIST','NEAR_X','NEAR_Y'])

更新字段内容

  • arcpy.UpdateCursor()
  • arcpy.da.UpdateCursor()
rows = arcpy.UpdateCursor(shp)
for row in rows:
row.xxxx=xxxx
rows.updateRow(row)

or

with arcpy.da.UpdateCursor(point_shp, [field_name]) as rows:
for row in rows:
row[0] = '[1,2]'
rows.updateRow(row)