Arcpy 2.7-更新文件地理数据字段格式问题

问题描述 投票:0回答:1

我正在尝试弄清楚如何格式化从文件地理数据库表中获取的文本变量,并使用该变量更新另一个文件地理数据库表字段。两个表中的字段都是字段大小为300的文本字段。整个列将使用从table1中提取的相同值进行更新。我似乎无法正确格式化arcpy.CalculateField_management语句中的var1。

将为搜索的每一行创建一个单独的表,并根据row [2]中的值构建一个sql查询。使用sql,从第三个表中选择记录,并将其与从行[0]抓取的文件名一起保存。将记录保存到此表后,我将添加一个新字段,并使用row [1]中的值对其进行更新。直到我尝试更新“描述”字段时,所有这些操作都正确完成。我很确定这是一个格式问题。


来自table1的值是通过SearchCursor获取的:

var = row[1] 

我想更新表2中的字段“描述”。我尝试了以下格式:

var1  = var
var1 = '!' + var + '!'
arcpy.CalculateField_management("table2", "Description", var1, "PYTHON3")

var1 = '"' + var + '"'
arcpy.CalculateField_management("table2", "Description", var1, "PYTHON3")
arcpy.CalculateField_management("table2", "Description", "'" + var1 + "'", "PYTHON3")

我很沮丧。我在家里,代码是一部作品,所以我没有包括它。我认为这足够了。任何指针将不胜感激。

使用ArcMap 10.6.1

python-2.7 arcgis
1个回答
0
投票

我会假设您在var中使用的引号包含一个字符串。在这种情况下,您需要:

arcpy.CalculateField_management("table2", "Description", "'" + var + "'", "PYTHON3")

请注意,我使用的是'var'而不是'var1'。如果var包含数字,您可以执行以下操作:

arcpy.CalculateField_management("table2", "Description", var, "PYTHON3")
© www.soinside.com 2019 - 2024. All rights reserved.