import arcpy# 设置工作空间和要处理的表路径
resource_shape_table = r"AA表.shp" # 源表路径
resource_assets_table = r"BB表.shp" # 目标表路径# 使用 SearchCursor 读取源表中的 O_Name 字段
with arcpy.da.SearchCursor(resource_shape_table, ['O_Name']) as search_cursor:# 使用 UpdateCursor 更新目标表中的 资源性资产 字段with arcpy.da.UpdateCursor(resource_assets_table, ['BB']) as update_cursor:# 获取源表中的 O_Name 值o_name_list = [row[0] for row in search_cursor]# 遍历目标表,将 O_Name 的值复制到 资源性资产 字段update_cursor.reset() # 重置游标,准备更新目标表i = 0 # 索引计数器for row in update_cursor:if i < len(o_name_list):row[0] = o_name_list[i] # 将 O_Name 的值复制到 资源性资产 字段update_cursor.updateRow(row)i += 1else:break # 如果源表数据读取完毕,结束更新print("字段内容已成功复制到目标表。")
关键总结
-
功能:按行顺序复制字段值,适用于表结构相同且记录顺序一致的情况。
-
注意事项:
-
确保两个表的记录顺序严格对应。
-
验证字段类型和长度兼容性。
-
添加异常处理以提高代码稳定性。
-
考虑使用关联字段替代顺序依赖(如
join
操作)
-