2016-01-15 65 views
2

我需要替換一列的屬性表中的值(將名爲「label」的列中的零替換爲100)。這可能使用ogr或python?我必須爲500個以上的形狀文件做這個。如何替換一列的屬性表中的值?

+0

是的,你可以很容易地做到這一點的蟒蛇。你嘗試了什麼或者你卡在哪裏?你可以先看看['os.walk()'](https://docs.python.org/3/library/os.html#os.walk)python函數(爲了遍歷目錄結構並獲得你的文件的名稱),那麼你可以試試['fiona'](https://github.com/Toblerity/Fiona)python模塊(它依賴於OGR,但提供了一個更簡單的API,特別是當你只與屬性一起工作)。根據是否急於完成任務,您還可以使用「線程」模塊。 – mgc

回答

1

在Esri ArcGIS領域,Update Cursors通常用於此類操作。

例如

import arcpy 

# Your input feature class 
fc = r'C:\path\to\your.gdb\feature_class' 

# Start an update cursor and change values from 0 to 100 in a field called "your_field" 
with arcpy.da.UpdateCursor(fc, "your_field") as cursor: 
    for row in cursor: 
     if row[0] == 0: 
      row[0] = 100 
     cursor.updateRow(row)