Tôi có một số cột trong một số bảng với một FGDB nơi tôi cần trích xuất các giá trị duy nhất cho mỗi cột.
Ví dụ: các giá trị có thể là [1,2,2,2,3,4] và tôi đang cố gắng trả về [1,2,3,4]
Tôi có thể thực hiện công việc này một số cách khác trong ARCGIS nhưng tôi đang cố gắng mở rộng bản thân.
Tôi đã tìm thấy một đoạn python trên web mà tôi nghĩ sẽ thực hiện công việc nhưng tôi đang vật lộn để chạy nó (tôi cứ bị lỗi cú pháp không hợp lệ vì tôi cứ bị lỗi cú pháp ở dòng 3) điều này sẽ không còn nghi ngờ gì nữa một lỗi người dùng thực sự đơn giản.
Đoạn mã dưới đây
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})
Đây là Thông báo Lỗi tôi nhận được từ văn bản cao siêu:
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]
Cập nhật từ câu hỏi gốc
Bây giờ tôi đã cập nhật mã của mình với câu trả lời được cung cấp bên dưới nhưng đang nhận được một lỗi thứ cấp.
Đoạn mã mới:
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)
Tôi nhận được một thông báo lỗi mới liên quan đến lỗi thời gian chạy
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'
[Hoàn thành sau 8.0 giây với mã thoát 1]
Tôi giả sử từ việc đọc tôi đã làm rằng điều này liên quan đến việc thiết lập env.workspace?
env.workspace
tôi không nghĩ. Hãy thử cất cánh r
trước đường dẫn hoặc thay đổi \` to
`trong đường dẫn (và rời khỏi r
đó). Cơ sở dữ liệu địa lý đó có tồn tại không?
[1,2,2,2,3,4]
, bạn đang cố gắng trả lại [1,2,3,4]
. Vui lòng cập nhật bài viết để bao gồm thông tin này.