fc = r"" csv = r"" copy_fields = ["", "", ""]
  1. 创建字典,存储字段值。
csv_dict = {row[0]: row for row in arcpy.da.SearchCursor(csv, copy_fields)}
  1. 使用 UpdateCursor() 函数遍历要素。
with arcpy.da.UpdateCursor(fc, copy_fields) as cursor:     for row in cursor:         key = row[0]             new_row = csv_dict[key]         except KeyError:             print(f"Entry not found in csv: {copy_fields[0]} = {key}")             continue         cursor.updateRow(new_row)         del csv_dict[key]
  1. 应用 InsertCursor() 函数,在要素类中插入新字段。
with arcpy.da.InsertCursor(fc, copy_fields) as cursor:     for new_row in csv_dict.values():         cursor.insertRow(new_row)
  1. 应用 print() 函数,在更新属性表时显示消息。
print("<message>")

以下代码块演示了完整工作脚本。

fc = r"C:\Users\testUser\Documents\Article work\Article 29321\MyProject 29321\MyProject 29321.gdb\Schools_all" csv = r"C:\Users\testUser\Documents\Article work\Article 29321\schoolLvl.csv" copy_fields = ["NAME", "LEVEL_NO", "LEVEL"] import arcpy csv_dict = {row[0]: row for row in arcpy.da.SearchCursor(csv, copy_fields)} with arcpy.da.UpdateCursor(fc, copy_fields) as cursor:     for row in cursor:         key = row[0]             new_row = csv_dict[key]         except KeyError:             print(f"Entry not found in csv: {copy_fields[0]} = {key}")             continue         cursor.updateRow(new_row)         del csv_dict[key] with arcpy.da.InsertCursor(fc, copy_fields) as cursor:     for new_row in csv_dict.values():         cursor.insertRow(new_row) print("Complete")