ここで私がやろうとしていることを説明しようとします:
同じフィールドを持つ1つのシェープファイルと1つの独立したdbfテーブルがあります。dbfテーブルではすべてのフィールドにデータが入力されていますが、シェープファイル属性テーブルでは1つだけなので、「OneField」という名前を付けます。私がやりたいことは、「OneField」(Shapefile)の値が「OneField」(dbfテーブル)の値と同じであることを確認し、同じ場合は、シェープファイル属性テーブルの残りの空のフィールドに値を設定することです。独立したdbfテーブル内。
現時点では、独立したdbfテーブルからシェープファイル属性テーブルに値をコピーしようとしているだけですが、行き詰まっています(このコードを実行すると、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
どうもありがとうございました