Ich versuche hier zu erklären, was ich versuche zu tun:
Ich habe ein Shapefile und eine unabhängige DBF-Tabelle mit denselben Feldern. In der DBF-Tabelle sind alle Felder ausgefüllt, in der Shapefile-Attributtabelle jedoch nur eines. Nennen wir es "OneField". Ich möchte überprüfen, ob die Werte von "OneField" (Shapefile) mit den Werten in "OneField" (DBF-Tabelle) übereinstimmen, und in diesem Fall die verbleibenden leeren Felder in der Shapefile-Attributtabelle mit denen füllen in der unabhängigen dbf-Tabelle.
Im Moment versuche ich nur, die Werte aus der unabhängigen DBF-Tabelle in die Shapefile-Attributtabelle zu kopieren, aber ich stecke fest (wenn ich diesen Code ausführe, erhalte ich die Meldung, dass Pythonwin nicht mehr funktioniert und nichts mit den Tabellen passiert). Können Sie mir bitte helfen?
Hier ist der Code:
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
Vielen Dank