Atualizando campos com valores da lista Python usando ArcPy UpdateCursor
Oct 14 2020
Atualmente, estou tentando atualizar os campos de um arquivo de forma, com uma lista que compilei fora do ambiente arcpy. Tentando UpdateCursor, que não consigo fazer funcionar, e FieldCalculator. FieldCalculator apenas o atualiza com "P [2]"
photoname = []
for p in shp_list:
name = p[2]
photoname.append(name)
# arcpy.CalculateField_management(out_shapefile,"PhotoName","'p[2]'","PYTHON_9.3")
Eu também tentei:
updt_cursor = arcpy.da.UpdateCursor(out_shapefile, fields)
for row in updt_cursor:
val = str(row[0])
for p in shp_list:
if val in p:
row[2] = p_name
updt_cursor.updateRow(row)
E UpdateCursor está em branco.
Sei que poderia criar um .txt da lista e, em seguida, atualizar os campos com a linha no arquivo .txt com InsertCursor, mas acho que deve haver uma maneira mais eficiente de fazer isso. Para o contexto, estou criando shapefiles de ponto de X / Y a partir dos dados exif e desejo preencher o nome da imagem correspondente.
Respostas
2 AnnaForrest Oct 14 2020 at 08:26
Para corrigir a instrução da calculadora de campo, altere-a para:
arcpy.CalculateField_management(out_shapefile,"PhotoName","'" + p[2] + "'","PYTHON_9.3")
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino