字段相关
汇总
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
文件,可以是个人地理数据库 - 返回字段对象的列表,字段对象有
name
、type
、等属性
用例:
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 - 需要可添加的字段名
- tar - 可以是
用例:
arcpy.AddField_management(
input_point,
field_type="TEXT",
field_name=field_name)
删除字段
arcpy.DeleteField_management(tar, [field_names])
- tar - 可以是
shp
文件,可以是个人地理数据库 - [field_name ]- 需要可添加的字段名
- tar - 可以是
用例:
# 删除多个字段
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)