我预处理数据,一列代表日期,例如' 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'
我无法在网上轻松找到答案,所以我在这里问。有人可以帮我这个吗?
感谢。
答案 0 :(得分:3)
使用'%m/%d/%y'
解析没有世纪的日期,然后:
year_1900 = datetime_object.year - 100
datetime_object = datetime_object.replace(year=year_1900)
你应该把条件放在那附近所以你只能在实际上在1900年的日期做,例如比今天晚的任何日子。