各列の一意の値を抽出する必要がある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.0sで終了コード1で終了]
私が読んだことから、これはenv.workspaceの設定に関連していると思いますか?
env.workspace
私が考えていないこととは関係ありません。r
パスの前を削除するか、パスの\` to
`を変更してみてください(そしてr
そこに残します)。そのジオデータベースは存在しますか?
[1,2,2,2,3,4]
があるとしましょう[1,2,3,4]
。この情報が含まれるように投稿を更新してください。