Saya memiliki sejumlah kolom dalam sejumlah tabel di dalam FGDB di mana saya perlu mengekstraksi nilai unik untuk setiap kolom.
Sebagai Contoh: nilainya mungkin [1,2,2,2,3,4], dan saya mencoba untuk mengembalikan [1,2,3,4]
Saya dapat melakukan pekerjaan ini dengan beberapa cara lain dalam ARCGIS tetapi saya mencoba untuk memperluas diri.
Saya telah menemukan sepotong python di web yang saya pikir akan melakukan pekerjaan itu tetapi saya berjuang untuk menjalankannya (saya terus mendapatkan kesalahan sintaks yang tidak valid karena saya terus mendapatkan kesalahan sintaks di baris 3) ini tidak diragukan lagi akan kesalahan pengguna yang sangat sederhana.
Cuplikan Kode di bawah ini
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})
Ini adalah Pesan Kesalahan yang saya dapatkan dari teks luhur:
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]
Pembaruan dari Pertanyaan Asli
Saya sekarang telah memperbarui kode saya dengan jawaban yang diberikan di bawah ini tetapi saya menerima kesalahan sekunder.
Cuplikan Kode Baru:
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)
Saya mendapatkan pesan kesalahan baru yang terkait dengan kesalahan 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'
[Selesai dalam 8.0s dengan kode keluar 1]
Saya berasumsi dari bacaan yang telah saya lakukan bahwa ini berkaitan dengan pengaturan env.workspace?
env.workspace
Saya tidak berpikir. Coba lepaskan r
sebelum jalan, atau ubah \` to
`di jalan (dan biarkan di r
sana). Apakah Geodatabase itu ada?
[1,2,2,2,3,4]
, apakah Anda mencoba untuk mengembalikan [1,2,3,4]
. Harap perbarui pos untuk memasukkan informasi ini.