Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Arcpy 2.7-更新文件geodatabe字段格式问题_Python 2.7_Arcgis - Fatal编程技术网

Python 2.7 Arcpy 2.7-更新文件geodatabe字段格式问题

Python 2.7 Arcpy 2.7-更新文件geodatabe字段格式问题,python-2.7,arcgis,Python 2.7,Arcgis,我试图弄清楚如何格式化从文件地理数据库表中获取的文本变量,并使用此变量更新另一个文件地理数据库表字段。两个表中的字段都是字段大小为300的文本字段。整个列将使用从表1中提取的相同值进行更新。我似乎无法正确格式化arcpy.CalculateField_管理语句中的var1 为搜索的每一行创建一个单独的表,并根据第[2]行中的值生成一个sql查询。使用sql,从第三个表中选择记录,并使用从第[0]行获取的文件名保存记录。一旦记录保存到此表中,我将添加一个新字段,并使用第[1]行中的值对其进行更新。

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

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


通过SearchCursor获取表1中的值:

var = row[1] 
我想更新表2中的字段“Description”。我尝试了以下格式:

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

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

arcpy.CalculateField_management("table2", "Description", "'" + var + "'", "PYTHON3")
请注意,我使用的是'var'而不是'var1'。如果var包含一个数字,您只需执行以下操作:

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

我觉得你想得太多了-不仅仅是
arcpy.CalculateField\u管理(“table2”,“Description”,var)
?结果是字段长度不一样,描述字段中的字符数太长了一个字符。有时候退一步,改天再来真的很有帮助。谢谢你,安娜。