У мене є ряд стовпців у ряді таблиць в межах FGDB, де мені потрібно отримати унікальні значення для кожного стовпця.
Наприклад: значення можуть бути [1,2,2,2,3,4], і я намагаюся повернути [1,2,3,4]
Я міг би виконати цю роботу багатьма іншими способами в ARCGIS, але я намагаюся розширити себе.
У Інтернеті я знайшов шматок python, який, на мою думку, зробить цю роботу, але я намагаюся його запустити (я постійно отримую помилкову помилку синтаксису, оскільки я продовжую отримувати помилку синтаксису в рядку 3), це, без сумніву, буде дійсно проста помилка користувача.
Фрагмент коду нижче
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})
Це повідомлення про помилку, яке я отримую з піднесеного тексту:
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]
Оновлення від оригінального запитання
Зараз я оновив свій код відповідно до наведеної нижче відповіді, але отримую вторинну помилку.
Новий фрагмент коду:
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)
Я отримую нове повідомлення про помилку, пов’язане з помилкою виконання
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'
[Готово через 8.0 с кодом виходу 1]
Я вважаю, що я прочитав, що це стосується встановлення простору env.works?
env.workspace
я не думаю. Спробуйте або зняти r
попередній шлях, або змінити \` to
`на шляху (і залишити r
там). Чи існує така база даних геоданих?
[1,2,2,2,3,4]
, чи намагаєтесь ви повернутись [1,2,3,4]
. Оновіть публікацію, щоб включити цю інформацію.