Ho un numero di colonne in un numero di tabelle all'interno di un FGDB in cui ho bisogno di estrarre i valori univoci per ogni colonna.
Ad esempio: i valori possono essere [1,2,2,2,3,4] e sto cercando di restituire [1,2,3,4]
Potrei fare questo lavoro in molti altri modi in ARCGIS ma sto cercando di estendermi.
Ho trovato un pezzo di Python sul web che penso farà il lavoro ma sto lottando per farlo funzionare (continuo a ricevere un errore di sintassi non valido mentre continuo a ricevere l'errore di sintassi nella riga 3) questo sarà senza dubbio un errore utente molto semplice.
Snippet di codice di seguito
import arcpy
def unique_values(r'N:\GISProjects\Landuse\Plant_Biosecurity_Project\ArcGIS_Online.gdb\Holdings_Property_Merge' , 'LU_ALUMMaj'):
with arcpy.da.SearchCursor(table, [field]) as cursor:
return sorted({row[0] for row in cursor})
Questo è il messaggio di errore che ottengo dal testo sublime:
File "C:\Users\hawkinle\Desktop\STDTAS\Unique_Data.py", line 3
def unique_values(r'N:\GISProjects\Steve_Eastwood_Landuse\Plant_Biosecurity_Project\ArcGIS_Online.gdb\Holdings_Property_Merge' , 'LU_ALUMMaj'):
^
SyntaxError: invalid syntax
[Finished in 0.1s with exit code 1]
Aggiornamenti dalla domanda originale
Ora ho aggiornato il mio codice con la risposta fornita di seguito, ma sto ricevendo un errore secondario.
Nuovo frammento di codice:
import arcpy
def unique_values(table , field):
with arcpy.da.SearchCursor(table, [field]) as cursor:
return sorted({row[0] for row in cursor})
myValues = unique_values(r'N:\\GISProjects\\Landuse\\Plant_Biosecurity_Project\\ArcGIS_Online.gdb\\Holdings_Property_Merge' , 'LU_ALUMMaj')
print (myValues)
Ricevo un nuovo messaggio di errore relativo a un errore di runtime
Traceback (most recent call last):
File "C:\Users\hawkinle\Desktop\STDTAS\Unique_Data.py", line 7, in <module>
myValues = unique_values(r'N:\\GISProjects\\Steve_Eastwood_Landuse \Plant_Biosecurity_Project\\ArcGIS_Online.gdb\\Holdings_Property_Merge' , 'LU_ALUMMaj')
File "C:\Users\hawkinle\Desktop\STDTAS\Unique_Data.py", line 4, in unique_values
with arcpy.da.SearchCursor(table, [field]) as cursor:
RuntimeError: cannot open 'N:\\GISProjects\\Steve_Eastwood_Landuse\\Plant_Biosecurity_Project\\ArcGIS_Online.gdb\\Holdings_Property_Merge'
[Terminato in 8.0s con il codice di uscita 1]
Presumo dalla lettura che ho fatto che ciò si riferisce all'impostazione di env.workspace?
env.workspace
non credo. Prova a togliere il r
precedente al percorso o a cambiare il \` to
`nel percorso (e lascia il r
lì). Esiste quel Geodatabase?
[1,2,2,2,3,4]
, stai provando a tornare [1,2,3,4]
. Aggiorna il post per includere queste informazioni.