당신은 당신의 데이터 유형에 대한 잘못된 필드 구분 기호를 사용하고 있습니다. 모양 파일의 경우 대괄호 대신 이중 인용 부호를 사용해야합니다 :
arcpy.SelectLayerByAttribute_management("County_Layer", "NEW_SELECTION", """"Pop_Descrp" = 'Highly Increased'""")
다른 공간 파일 형식이 다른 필드 구분 기호를 필요로한다. 일부는 일부는 구분 기호를 사용하는 추측 - 작업을 저장하려면 대괄호 [Pop_Descrp]
, 기타 (shape 파일 포함)이 필요합니다 따옴표 "Pop_Descrp"
을 필요로 분리 문자 Pop_Descrp
이 없다, 이들을 처리하는 가장 좋은 방법은 arcpy 기능을 사용하는 것입니다 SQL 식에 사용 Add Field Delimitersarcpy.AddFieldDelimiters()
구분자 필드는 질의 데이터 형식에 따라 다르다. 예를 들어 파일 지오 데이터베이스 및 모양 파일은 큰 따옴표 ("")를 사용하고, 개인 지오 데이터베이스는 대괄호 ([])를 사용하고 엔터프라이즈 지오 데이터베이스는 필드 구분 기호를 사용하지 않습니다. 이 함수는 추측 작업을 수행하여 SQL 표현식에 사용 된 필드 구분 기호가 올바른 인지 확인합니다.
> # Shapefile:
> x = "{0} = 'Highly Increased'".format(arcpy.AddFieldDelimiters("County_AR.shp", "Pop_Descrp"))
> print x
"Pop_Descrp" = 'Highly Increased'
> # Personal Geodatabase:
> y = "{0} = 'Highly Increased'".format(arcpy.AddFieldDelimiters(r"myPGDB.mdb\County_AR", "Pop_Descrp"))
> print y
[Pop_Descrp] = 'Highly Increased'
> # Enterprise (SDE) Geodatabase:
> z = "{0} = 'Highly Increased'".format(arcpy.AddFieldDelimiters(r"EntGdb.sde\geodatabase.dbo.County_AR", "Pop_Descrp"))
> print z
Pop_Descrp = 'Highly Increased'
그래서, 당신의 선택 작업을 추가 필드 구분 기호가 당신의 분야에 대한 올바른 구분 기호를 삽입하는 기능을 사용할 수 있습니다.
import arcpy
arcpy.env.workspace = r"Z:\Ash Tree Project\Shapefiles_Arkansas"
arcpy.MakeFeatureLayer_management("County_AR.shp", "County_layer")
arcpy.SelectLayerByAttribute_management("County_layer", "NEW_SELECTION", "{0} = 'Highly Increased'".format(arcpy.AddFieldDelimiters("County_layer", "Pop_Descrp")))
arcpy.CopyFeatures_management("County_layer", "HighPopR_counties.shp")
[gis.se] Stack Exchange에서 더 잘 조사되거나 질문 될 것이라고 생각합니다. – PolyGeo