之前在处理Excel文件的时候,系统取到的数据都是YYYYMMDD的格式,这种情况下想做一些其
他操作还挺麻烦的,只是比较的时候好用点,我们往往需要转换为其他格式的日期类型,经过一些
时间的思考,我通过一个笨办法解决了这个问题,下面是代码:
def timechange(df, columnname):
'''
日期读取,将YYYYMMDD格式的日期读取为YYYY/MM/DD
:param df: DateFrame 格式的表
:param columnname: 日期列所在列名
:return: df
'''
dater = []
df[columnname] = df[columnname].astype(int)
for time in df[columnname]:
if len(str(time)) == 8:
year = str(time)[0:4]
month = str(time)[4:6]
day = str(time)[6:8]
timer = year + '/' + month + '/' + day
dater.append(timer)
else:
pass
try:
df[columnname] = dater
df[columnname] = df[columnname].astype(str)
except Exception as e:
logger.error('日期格式更改错误:%s' % e)
return df
这个笨办法是通过拆分再合并的办法将日期格式调整,可以直接用。