我目前在ArcGIS中有多个要素类,它们都包含一个名为Date
、Sample_Date
或T0_Date
的字段,其中包含每个采样的日期。日期不包含前导零(例如7/4/2014
不07/04/2014
)。在
我需要一个python或arcpy代码,它可以将字段中的样本日期转换为一年中的相应日期(闰年)(1月1日为1日,12月31日为365)。
我见过很多代码使用datetime和strptime,这似乎是我需要走的路,但我看到的大多数代码都要求用户输入他们要查找的特定日期,但由于我有太多的数据文件,我正在寻找一个代码,将其自动化为我。请告诉我你知道的任何代码可以帮助我做到这一点。在
import arcpy
import datetime
from datetime import datetime
fcList = arcpy.ListFeatureClasses()
for fc in fcList:
if "DOY" not in arcpy.ListFields(fc):
arcpy.AddField_management(fc,"DOY","SHORT")
if "DOY" in arcpy.ListFields(fc):
if "Date" in arcpy.ListFields(fc):
您可以使用datetime module。假设您的日期是月/日/年:
使用
datetime
包做这件事非常简单。它有一个名为strptime
的函数,它接受一个字符串并将其转换为日期时间。然后还有另一个名为strftime
的函数,它将以特定格式输出日期时间(在您的例子中是一年中的某一天)。在有关日期时间here的更多信息,请参阅文档。在
获取年份日期的示例:
编辑:更简单的方法是从timetuple中获取一年中的哪一天,以便它直接将其输出为int
我没有arcgis方面的经验,但假设函数是
^{pr2}$.getValue
以根据字段名获取值:相关问题 更多 >
编程相关推荐