我正在编写一个python脚本来添加字段并将数据写入ArcGIS表。我可以成功编辑和删除表中的列或字段。但是我一直坚持将数据写入字段。我得到了一个代码,通过该代码我们可以获取有关字段的类型和其他信息。但是我无法在该特定领域写点东西。
这是我从他们的论坛中获得的脚本-
import arcpy
feature_class = "c:/data/counties.shp"
# Create a list of fields using the ListFields function
fields = arcpy.ListFields(feature_class)
# Iterate through the list of fields
for field in fields:
# Print field properties
print("Field: {0}".format(field.name))
print("Alias: {0}".format(field.aliasName))
print("Type: {0}".format(field.type))
print("Is Editable: {0}".format(field.editable))
print("Required: {0}".format(field.required))
print("Scale: {0}".format(field.scale))
print("Precision: {0}".format(field.precision))
我的主键是 COPROPCD ,我想根据其他具有通用主键的数据集来更改其他字段。
答案 0 :(得分:1)
要更新记录,您需要使用UpdateCursor方法。假设您的datasource
是专一的,
import arcpy
feature_class = "c:/data/counties.shp"
with arcpy.da.UpdateCursor(feature_class, ["COPROPCD","field2"]) as cursor:
for row in cursor:
#Check if "COPROPCD" exist as a key in the dict
if row[0] in dataset.keys():
#logic for updating the dable
#This will update the field2 column to the value of the key
row[1] = dataset["value"]
cursor.updateRow(row)