He incorporado el siguiente código a mi script de ¿Comparación de los valores de campo de dos clases de características mediante ArcPy? y funciona muy bien, pero también necesito comparar los valores de otros dos campos (es decir, AÑO y MES) de los mismos dos FC.
No hay ningún problema con el código tal y como está, sólo necesito ayuda para modificar el código para comprobar los atributos de 3 campos de 2 FC para ver si cada fila de los tres campos contiene los mismos atributos y si es así no copiar la fila a la clase de característica de destino. Los campos de cada FC coinciden exactamente.
import arcpy
#input feature class
fc2 = r"C:\temp\temp.gdb\fc2"
#target feature class
fc3 = r"C:\temp\temp.gdb\fc3"
#check field
checkField = "SRNumber"
#Get list of values in field from target feature class
checkValues = [r[0] for r in arcpy.da.SearchCursor (fc3, checkField)]
#Get list of fields
fields = [f.name for f in arcpy.ListFields (fc2)]
#Get index of check field
index = fields.index (checkField)
#Create insert cursor for fc3 to allow appending of rows
inCursor = arcpy.da.InsertCursor (fc3, fields)
#Create search cursor to iterate input feature class
cursor = arcpy.da.SearchCursor (fc2, fields)
#iterate
for row in cursor:
#Get value to check
checkValue = row[index]
#Check if value is in target fc
if checkValue in checkValues:
#skip if value is in target fc
continue
#Insert row otherwise
inCursor.insertRow(row)
#Clean up
del cursor
del inCursor