时间数据格式出现time data does not match format valueError

合并文件夹中多个文件数据后,出现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’,这样就还是原来的格式。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值