【问题标题】:Copying year only from date field to another field仅将年份从日期字段复制到另一个字段
【发布时间】:2019-01-03 23:59:17
【问题描述】:

我试图仅将年份从带有 month/day/year 的日期字段复制到另一个仅带有 year 的字段。我没有运气提取我需要的那部分。
当我阅读日期字段时,以下返回:

(datetime.datetime(1989, 8, 28, 0, 0),)

(datetime.datetime(1984, 9, 27, 0, 0),)

我尝试将前 4 个读取为整数和字符串

我知道这应该很简单,但是我只有 1 节课,我很挣扎。希望我已经包含了足够的内容而没有包含太多内容。

我尝试将前 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)

【问题讨论】:

    标签: python gis


    【解决方案1】:

    如果你有一个日期时间“t”变量,你应该只做 year = t.year

    【讨论】:

      【解决方案2】:

      如果x = datetime.datetime(1989, 8, 28, 0, 0) 要获得年份,您可以执行x.year 输出 1989。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-31
        • 1970-01-01
        • 1970-01-01
        • 2021-03-06
        相关资源
        最近更新 更多