Ich habe eine Reihe von Spalten in einer Reihe von Tabellen innerhalb einer REA, in denen ich die eindeutigen Werte für jede Spalte extrahieren muss.
Zum Beispiel: Die Werte können [1,2,2,2,3,4] sein, und ich versuche, [1,2,3,4] zurückzugeben.
Ich könnte diesen Job in ARCGIS auf verschiedene andere Arten erledigen, aber ich versuche mich zu erweitern.
Ich habe ein Stück Python im Web gefunden, von dem ich denke, dass es den Job erledigen wird, aber ich habe Probleme, es zum Laufen zu bringen (ich bekomme immer wieder einen ungültigen Syntaxfehler, da ich immer wieder den Syntaxfehler in Zeile 3 bekomme). Dies wird zweifellos sein Ein wirklich einfacher Benutzerfehler.
Code-Snippet unten
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})
Dies ist die Fehlermeldung, die ich aus erhabenem Text erhalte:
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]
Aktualisierungen von der ursprünglichen Frage
Ich habe jetzt meinen Code mit der unten angegebenen Antwort aktualisiert, erhalte jedoch einen sekundären Fehler.
Neues Code-Snippet:
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)
Ich erhalte eine neue Fehlermeldung im Zusammenhang mit einem Laufzeitfehler
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'
[Fertig in 8.0s mit Exit Code 1]
Ich gehe davon aus, dass dies mit dem Festlegen des env.workspace zusammenhängt.
env.workspace
ich nicht glaube. Versuchen Sie entweder das r
vor dem Pfad abzunehmen oder das \` to
`im Pfad zu ändern (und lassen Sie das r
dort). Existiert diese Geodatabase?
[1,2,2,2,3,4]
, versuchen Sie zurückzukehren [1,2,3,4]
. Bitte aktualisieren Sie den Beitrag, um diese Informationen aufzunehmen.