arpy 在shp中添加字段并且把文件名写入字段内
时间: 2024-05-15 16:12:36 浏览: 188
可以使用Python中的`arcpy`模块来实现这个功能。下面是一个示例代码:
```python
import arcpy
import os
# 设置工作空间和输入的shp文件路径
arcpy.env.workspace = r"C:\data"
input_shp = "my_shapefile.shp"
# 添加一个名为“filename”的字段
arcpy.AddField_management(input_shp, "filename", "TEXT")
# 获取shp文件名,去掉扩展名
filename = os.path.splitext(input_shp)[0]
# 在新添加的“filename”字段中写入shp文件名
with arcpy.da.UpdateCursor(input_shp, ["filename"]) as cursor:
for row in cursor:
row[0] = filename
cursor.updateRow(row)
```
在这个示例中,首先设置工作空间和输入的shp文件路径。然后使用`AddField_management()`函数添加一个名为“filename”的字段。接着,使用Python的`os`模块获取shp文件名,并通过`splitext()`函数去掉扩展名部分。最后,使用`UpdateCursor()`函数遍历每一行数据,并在新添加的“filename”字段中写入shp文件名。
需要注意的是,这个示例中假设shp文件和Python脚本在同一个目录下。如果不是的话,需要修改代码中的文件路径。
阅读全文