J'ai un certain nombre de colonnes dans un certain nombre de tables dans un FGDB où j'ai besoin d'extraire les valeurs uniques de chaque colonne.
Par exemple: les valeurs peuvent être [1,2,2,2,3,4], et j'essaie de retourner [1,2,3,4]
Je pourrais faire ce travail de plusieurs autres façons dans ARCGIS mais j'essaie de m'étendre.
J'ai trouvé un morceau de python sur le Web qui, je pense, fera l'affaire, mais j'ai du mal à le faire fonctionner (je reçois toujours une erreur de syntaxe non valide comme je reçois toujours l'erreur de syntaxe à la ligne 3), ce sera sans aucun doute une erreur utilisateur très simple.
Extrait de code ci-dessous
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})
Voici le message d'erreur que je reçois d'un texte 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]
Mises à jour de la question d'origine
J'ai maintenant mis à jour mon code avec la réponse fournie ci-dessous mais je reçois une erreur secondaire.
Nouvel extrait de code:
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)
Je reçois un nouveau message d'erreur lié à une erreur d'exécution
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'
[Terminé en 8.0s avec le code de sortie 1]
Je suppose que d'après la lecture que j'ai faite, cela concerne la configuration de l'espace de travail env.
env.workspace
je ne pense pas. Essayez soit d'enlever l' r
avant du chemin, soit de changer le \` to
`dans le chemin (et de le laisser r
là). Cette géodatabase existe-t-elle?
[1,2,2,2,3,4]
, essayez-vous de revenir [1,2,3,4]
. Veuillez mettre à jour le message pour inclure ces informations.