添加shp。 name作为属性,循环遍历日期

时间:2014-09-11 14:45:15

标签: date attributes

我被困在这几天了。我有一个包含数百个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'?没有错误消息。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我明白了!对于计算字段管理,表达式不应该在引号中。它应该是:arcpy.CalculateField_management(fc,field,expression,“PYTHON”)

这篇文章可能是浪费时间,但至少可能会帮助将来遇到类似问题的人。