合并文件夹中多个文件数据后,出现ValueError: time data '19970004' does not match format '%Y%m%d' (match)
首先,应该查看数据,是数据是否格式正确,我的错误来源于将多个文件合并后,多行标题也在不同的位置进行合并,导致本应该是数据的一行成为了标题行
解决方法1:查看数据是否存在多个标题行,如果存在,则只保留第一行标题行即可。
解决方法2:转换数据格式代码
data['used_time'] = (pd.to_datetime(data['creatDate'], format='%Y%m%d') -
pd.to_datetime(data['regDate'], format='%Y%m%d')).dt.days
改为:data['used_time'] = (pd.to_datetime(data['creatDate'], format='%Y%m%d', errors='coerce') - pd.to_datetime(data['regDate'], format='%Y%m%d', errors='coerce')).dt.days
也就是添加错误参数,errors参数共有三种赋值,默认的值为‘raise’,出现不符合规范的解析时就会报错。可以将errors参数赋值为‘coerce’,在解析的过程中将出错的时间格式设置为NaT。如果不想处理错误的时间格式,可以将errors赋值为‘ignore’,这样就还是原来的格式。