我有2个要合并的属性表:“ Test_Table”和“ AST_PASS4_Copy”。 “ PASS4_Copy”表包含具有相同AI_ID但具有不同位置描述(以文本格式)的多行。 “ Test_Table”每个AI_ID仅包含1个条目。
我正在尝试将“ AST_PASSS4_Copy”中的位置描述合并到“ Test_Table”表中,以便“ Test_Table”看起来如下:
AI_ID_1 |描述1,描述2,描述3 AI_ID_2 |描述1,描述2,描述3 AI_ID_3 |描述1,描述2,描述3
我主要是尝试使用arcpy.da.SearchCursor和arcpy.da.UpdateCursor。我对另一个数据集使用了相同的脚本来解决类似的问题,并且它起作用了。这次,我只操纵了字段名和文件名。当我输入errors.keys()时,它变成空的。
以arcpy.da.UpdateCursor('Test_Table',['MASTER_AI_','LOC_DESC'])作为uc:
ct = 1
errors = {}
for row in uc:
with arcpy.da.SearchCursor('AST_PASS4_Copy', ['LOCATION_D'], where_clause="MASTER_AI_ID='{}'".format(str(row[0]))) as sc:
loc = []
for loc in sc:
loc.append(str(loc[0]))
if len(loc) > 0:
row[1] = '; '.join(set(loc))
print("{}-{}".format(row[0],ct))
ct += 1
try:
uc.updateRow(row)
except Exception as e:
errors[row[0]] = (row, e)
打印(错误)
没有错误消息出现。脚本返回{},并在运行“ errors.keys()”时返回[]。