여기에 내가하려는 일을 설명하려고합니다.
동일한 필드를 가진 하나의 shapefile과 하나의 독립 dbf 테이블이 있습니다. dbf 테이블에서 모든 필드가 채워지지만 shapefile 속성 테이블에서 하나만 지정하면 이름을 "OneField"로 지정하십시오. 내가하고 싶은 것은 "OneField"(Shapefile)의 값이 "OneField"(dbf 테이블)의 값과 같은지 확인하고 그렇다면 shapefile 속성 테이블의 나머지 빈 필드를 값으로 채우는 것입니다. 독립 dbf 테이블에서.
현재 독립 dbf 테이블의 값을 shapefile 속성 테이블로 복사하려고하지만 멈췄습니다 (이 코드를 실행하면 pythonwin이 작동을 멈추고 테이블에 아무런 변화가 없다는 메시지가 나타납니다). 손 좀주세요
코드는 다음과 같습니다.
import arcpy
table = "link/to/table.dbf"
fc = "link/to/shapefile.shp"
# Create a search cursor
rowsTable = arcpy.SearchCursor(table)
# Create an update cursor
rowsFc = arcpy.UpdateCursor(fc)
for row in rowsTable:
row = row.getValue("OneField")
valueTable = row
for row in rowsFc:
row = row.setValue("OneField", valueTable)
rowsFc.updateRow(row)
row = rowsFc.next()
row = rowsTable.next()
del row, rowsFc, rowsTable
대단히 감사합니다