python在arcmap中,如何使用行ID进行查询并从另一个要素类中查找字段值

python在arcmap中,如何使用行ID进行查询并从另一个要素类中查找字段值,python,field,arcmap,Python,Field,Arcmap,我有一个需要更新的要素类,将其命名为big_file,它有一个字段名“ID_old”,我们将使用它进行查询。另一个字段是“Sum_value”,需要用 另一个文件的字段值之和 所以我有一个列表(名为list_file),其中包含许多要素类,将每个要素类命名为small_file。每个文件的名称已经包含我们需要定位的ID(将其命名为“ID”)。每个文件都有一个名为“field_value”的字段“ID”不是字段,只是要素类的名称 请注意,“ID_old”和“ID”的格式不同,因为ID不包含“”或“

我有一个需要更新的要素类,将其命名为big_file,它有一个字段名“ID_old”,我们将使用它进行查询。另一个字段是“Sum_value”,需要用 另一个文件的字段值之和

所以我有一个列表(名为list_file),其中包含许多要素类,将每个要素类命名为small_file。每个文件的名称已经包含我们需要定位的ID(将其命名为“ID”)。每个文件都有一个名为“field_value”的字段“ID”不是字段,只是要素类的名称

请注意,“ID_old”和“ID”的格式不同,因为ID不包含“”或“”,例如:

ID_old : New York, St. Louis  corresponds to
ID: New_York, St_Louis
现在需要: 用每行具有相应ID的每个小文件的字段值总和填充大文件的总和

一行大文件的ID为“New York”,因此在列表文件中有一个文件的名称包含“New York”, 找到那个文件后,比如说纽约文件,我们将得到字段“field\u value”的和,并得到一个结果。然后 返回到big_文件并用结果填充thw行(ID为“New York”)的字段Sum_值

换句话说,我尝试使用原始文件中的行ID进行查询,在列表中查找相应的要素类,即 要素类获取所需字段的总和,并使用原始文件中的总和更新每一行

有什么线索吗?我想我需要使用UpdateCursor,但不知道如何查询和获取值。

代码如下:

for file in list_file:
  outStat="path_for_sum_output"
  arcpy.Statistics_analysis(file,outStat, [["field_value", "SUM"]])
  rowsStat = arcpy.SearchCursor(outStat)
  for row in rowsStat:
     sum=row.getValue('Sum_field_value')

  #formate name of file so the format match with field ID_old of the feature class
  namelist=file.split('_')
  myname=' '.join(namelist)
  print myname 

  fc='big_file'
  cursor=arcpy.da.UpdateCursor(fc,['Sum_value'], "ID_old = '" +myname+ "'")
  for row in cursor:
      row[0]= sum
      cursor.updateRow(row)
      print row

这解决了大部分问题,除了ID为'St'的大文件中的记录外——这些记录需要手动填写

这是什么语言/系统/应用程序/等等?请添加到您的问题标签以反映这一点。当然,请查看标题