我正在预处理数据,一列代表日期,例如“6/1/51”
我正在尝试将字符串转换为日期对象,到目前为止我拥有的是:
date = row[2].strip()
format = "%m/%d/%y"
datetime_object = datetime.strptime(date, format)
date_object = datetime_object.date()
print(date_object)
print(type(date_object))
我面临的问题是将 2051 更改为 1951。
我试着写
format = "%m/%d/19%y"
但它给了我一个 ValueError。
ValueError: time data '6/1/51' does not match format '%m/%d/19%y'
我在网上不容易找到答案,所以我在这里问。谁能帮我解决这个问题?
谢谢。
使用'%m/%d/%y'
解析没有世纪的日期,然后:
year_1900 = datetime_object.year - 100
datetime_object = datetime_object.replace(year=year_1900)
您应该围绕它放置条件,以便您只在实际在 1900 年代的日期执行此操作,例如比今天晚的任何日期。
我是一名优秀的程序员,十分优秀!