ฉันพยายามอธิบายที่นี่สิ่งที่ฉันพยายามทำ:
ฉันมีหนึ่ง 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
ขอบคุณมาก