我有一个脚本可以下载zip文件并每天提取shapefile。这样可以正常工作,但shapefile的格式始终为" polygons.yyyymmdd.shp"
尝试将此文件复制到地理数据库时,我一直遇到错误。我猜是因为shapefile名称中有一段时间(不知道为什么他们使用这种命名结构)。
错误是" RuntimeError:Object:执行工具"
时出错shpList = arcpy.ListFeatureClasses()
print shpList
>>>[u'polygons.20150316.shp']
polyFc = "C:\\data\\work.gdb\\" + "polyFc"
arcpy.CopyFeatures_management(shpList, polyFc)
答案 0 :(得分:2)
地理处理工具将反对shapefile(和dbase文件),其名称中包含额外的句点。在将文件与CopyFeatures和其他工具一起使用之前,需要重命名文件。
folder, shp_name = os.path.split(shp)
name = os.path.splitext(shp_name)[0]
for file_name in os.listdir(folder):
if file_name.startswith(name):
os.rename(os.path.join(folder, file_name),
os.path.join(folder, file_name.replace('.', '_', 1)))
答案 1 :(得分:0)
# I renamed using the following:
for filename in os.listdir("."):
print filename
if filename.startswith("polygons"):
os.rename(filename, "a" + filename[9:])
# To import the shapefile into my geodb I converted the list to string first
shp = '\n'.join(shpList)
arcpy.FeatureClassToFeatureClass_conversion(shp, outWorkspace, "polyToday")