arcpy批量删除DeleteField/添加AddField shp文件字段:

37 篇文章 3 订阅
28 篇文章 1 订阅

arcpy批量删除/添加 shp 文件字段:
(1)批量删除字段DeleteField_management

此工具可从表、要素类、要素图层或栅格数据集中删除一个或多个字段。

DeleteField_management (in_table, drop_field)

in_table:包含要删除字段的表。将修改现有输入表。(矢量图层)
drop_field、[drop_field,...]:要从输入表中删除的字段 (名称或者列表)。必填字段不能删除。除了 FID 和 SHAPE 必须保留一个字段。

示例代码:

import arcpy
# 获取 shp 的所有字段
fields = arcpy.ListFields("union")
# 获取所有字段的名称
f_names = []
for f in fields: f_names.append(f.name)
# 通过字段名称删除字段
arcpy.DeleteField_management("union", f_names[3:])

(2)批量增加字段AddField_management

向表或要素类表、要素图层、栅格目录和/或带属性表的栅格添加新字段。

AddField_management (in_table, field_name, field_type, {field_precision}, {field_scale}, {field_length}, {field_alias}, {field_is_nullable}, {field_is_required}, {field_domain})
-----
in_table:要添加指定字段的输入表。该字段将被添加到现有输入表,并且不会创建新的输出表。
field_name:要添加到输入表的字段的名称。
field_type:新字段的字段类型。(TEXT、FLOAT等)

示例代码:

from arcpy import *
# 添加一个字符串字段,长度默认
AddField_management("union", "Name", "TEXT")
# 长度为 5
AddField_management("union", "Name2", "TEXT", field_length=5)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用说明 本程序可以一次性对多个SHP文件增加相 同字段.增加多个字段请输入字段名和类 型,长度等不同参数即可实现. 要注意的 是, 存放SHP文件夹一定不能中文命名 1. 请把本程序复制到 SHP文件夹中运行 例如复制到D:\123,将对D盘下123目录中 的所有SHP文件进行运算(包括子文件夹) 2. 因为 ARCMAP 的命令不支持中文文件名 所以存放SHP 的文文件夹请不要以中文 命名或特殊符号命名 3. ARCMAP的命令行不支持以数字开头.但可 在字段后面加数字,如CODE1,CODE2.所以 字段名不要用到数字开头,确实要用到数 字的请把SHP文转成TAB在MAPINFO里修改 但奇怪的是,直接在属性列表中却可以添 加以数字开头的字段 4. 在运行程序后,请把弹出的记事本内容复 制到ARCMAP的命令行里粘帖后回车即可 5. 在XPSP2和2003SERVER系统中可以执行 不能在98中运行,2000的系统没测试 6.(还请哪位精通批处理的大侠指点一下) 目前尚有一个问题没有解决,就是同一类型 的字段如果要加二个,不能连着加.得关了程 序再开才能进行.否则弹的记事本内容中,前 面的内容还是上次的字段路径. 但可以连着加不同的字段类型. 比如加完TEXT类型的字段.不能接着加TEXT 类型的字段,但可以加DATE/FLOAT等其他类型 ___________________________________ 如果不能运行或出现其他错误,请到我的 百度空间留言说明你的情况及建议: http://hi.baidu.com/lgx8280998 -----为解决问题而学习 BY 千浪 2009-03-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木易GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值