为什么arcpy不会创建我的表?

时间:2013-10-28 20:15:27

标签: python arcpy

我收到错误

  

执行失败:输入表:参数无效。错误   000732:输入表:数据集mytable不存在或不存在   支持无法执行(AddField)。

import arcpy, os, sys, traceback
arcpy.env.workspace = "L:\\school\\GEO614\\PythonPrimer\\Chapter06\\Data\\cursors.gdb"
arcpy.env.overwriteOutput = True
outpath = "L:\\school\\GEO614\\PythonPrimer\\Chapter06\\MyData\\exercise6.gdb"
outname = 'mytable'
arcpy.CreateTable_management(outpath, outname)
arcpy.AddField_management(outname, 'LakeFC_ID', 'SHORT')
arcpy.AddField_management(outname, 'Lake_Name', 'TEXT', '50')
arcpy.AddField_management(outname, 'Lake_Info_ID', 'LONG')
arcpy.AddField_management(outname, 'Lake_Temp', 'SHORT')

我无法弄清楚我的代码有什么问题。

2 个答案:

答案 0 :(得分:1)

这是因为您将工作区设置为与您在路径中包含的GDB不同的GDB。因此,它会在您的outpath指定的GDB中创建表,但由于您只将表名提供给add field工具,Add Field工具会在您设置为工作空间的GDB中查找,并且无法找到该表。 使工作空间和路径相同,或者仅将arcpy.env.workspace作为CreateTable工具的第一个参数提供,或者使用os.path.join连接outpath和outname变量并将其提供给Add Field工具,并将其提供给会正常工作。

答案 1 :(得分:-1)

由于有多个其他原因,似乎会为arcpy用户弹出000732,如果您正在尝试利用用户输入文件路径并将字符串变量与它们连接起来,这个解决方案帮助我在这里和其他地方在线搜索:

https://gis.stackexchange.com/questions/32064/getting-full-path-of-layer-selected-in-drop-down-box-for-arcgis-python-script-to