我正在尝试仅将年份从带有month/day/year
的日期字段复制到仅包含year
的另一个字段。我没法抽出我需要的那一部分。
当我阅读日期字段时,将返回以下内容:
(datetime.datetime(1989, 8, 28, 0, 0),)
(datetime.datetime(1984, 9, 27, 0, 0),)
我尝试将前4个同时读取为整数和字符串
我知道这应该很简单,但是在我的班上只有一堂课的时候,我很挣扎。希望我已经包含了足够的内容而没有包含太多内容。
我尝试将前4个同时读取为整数和字符串。我还尝试过使datetime.isoformat
工作。
table=r'Y:Data.gdb\SDSample'
newdata={}
with open(table, 'wb') as fp:
writer=csv.DictReader(fp)
for row in writer:
year= int(row['first_Date'])
newdata[year]=row
with arcpy.da.UpdateCursor(table, field_names=['first_Date',
'Record_Year']) as updater:
for row in updater:
#extract year (first 4 didgits) from date
first = row[0][:4]
#insert into Record_Year field
row[1]=first
updater.updateRow(row)
答案 0 :(得分:0)
如果您有日期时间“ t”变量,则应该只设置year = t.year
答案 1 :(得分:0)
如果x = datetime.datetime(1989, 8, 28, 0, 0)
要获得年份,则可以执行x.year
输出1989。希望这会有所帮助。