ArcPy UpdateCursor를 사용하여 Python 목록의 값으로 필드 업데이트

Oct 14 2020

현재 arcpy 환경 외부에서 컴파일 한 목록으로 shapefile의 필드를 업데이트하려고합니다. 작동하지 않는 것처럼 보이는 UpdateCursor와 FieldCalculator를 모두 사용해보십시오. FieldCalculator는 "P [2]"로 업데이트합니다.

photoname = []

for p in shp_list:
    name = p[2]
    photoname.append(name)

    # arcpy.CalculateField_management(out_shapefile,"PhotoName","'p[2]'","PYTHON_9.3")

나는 또한 시도했다 :

updt_cursor = arcpy.da.UpdateCursor(out_shapefile, fields)
for row in updt_cursor:
    val = str(row[0])
    for p in shp_list:
        if val in p:
            row[2] = p_name
            updt_cursor.updateRow(row)

그리고 UpdateCursor는 비어 있습니다.

목록에서 .txt를 만든 다음 InsertCursor를 사용하여 .txt 파일의 줄로 필드를 업데이트 할 수 있다는 것을 알고 있지만이 작업을 수행하는 더 효율적인 방법이 있어야한다고 생각합니다. 컨텍스트를 위해 exif 데이터에서 X / Y의 포인트 셰이프 파일을 만들고 해당 이미지 이름을 채우고 싶습니다.

답변

2 AnnaForrest Oct 14 2020 at 08:26

필드 계산기 문을 수정하려면 다음과 같이 변경하십시오.

arcpy.CalculateField_management(out_shapefile,"PhotoName","'" + p[2] + "'","PYTHON_9.3")