我被困在这几天了。我有一个包含数百个shapefile的文件夹。我想在shapefile中添加一个属性字段,将shapefile的名称作为日期。 shapefile名称包括Landsat路径/行,年份和Julien日期('1800742003032.shp)。我希望在“日期”字段下添加日期“2003032”。
这是我到目前为止所拥有的:
arcpy.env.workspace = r“C:\ Users \ mkelly \ Documents \ Namibia \ Raster_Water \ 1993 \ Polygons”
for arcc.ListFeatureClasses(“*”,“ALL”)中的fc:
print str(“处理”+ fc)
field =“DATE”
expression = str(fc)[6:13]
arcpy.AddField_management(fc,field,“TEXT”)
arcpy.CalculateField_management(fc,field,“expression”,“PYTHON”)
结果:
processing1800742003032.shp
processing1800742009136.shp
processing1820732010289.shp
结束处理......
它运行完美(在样本3个shapefile上),但问题是当我在Arcmap中打开shapefile时,它们都具有相同的日期。结果显示它处理了3个shapefile中的每一个,并且添加字段管理必须有效,因为所有字段都已填充。因此表达式或计算字段命令存在问题。
如何让它填充每个shapefile的具体日期,而不是只让它们全部为'2003032'?没有错误消息。
提前致谢!
答案 0 :(得分:0)
我明白了!对于计算字段管理,表达式不应该在引号中。它应该是:arcpy.CalculateField_management(fc,field,expression,“PYTHON”)
这篇文章可能是浪费时间,但至少可能会帮助将来遇到类似问题的人。