CSV文件出现莫名,,,,,

 

    为了让项目更加完善,提升用户感知,需要提供批量导入数据的功能,让用户将大量数据直接写入文件,然后上传文件到系统,由系统完成批量数据导入的操作,考虑到实际情况,选择使用CSV文件作为文件上传格式,实际使用中遇到了一些CSV文件的问题,记录如下:

1.为什么选CSV文件

      逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本更加方便操作,notpad可以直接打开写入,因为某些时候,计算机上可能没有安装Office或者WPS;另外,CSV可以用Office或者WPS打开,可以以表格的形式操作,和Excel一样,非常方便用户批量添加数据,快速复制等功能与Excel文档没有区别;最重要的是,可以简化开发,直接以文本格式读取,然后通过“逗号”分割数据,切割提前数据非常方便。

2.遇到的问题:

      有时候,系统读取CSV文件报错,导入不了数据,而有时候又正常。经过分析对比,发现是CSV文件有问题,这个问题非常隐蔽,不容易发现,详细分析如下。

 

2-1.下面这个是正常的CSV文件,用Excel或者notpad都可以打开,notpad中数据是以“逗号”分开的。

2-2.下面是有问题的CSV文件,先用notpad打开,仔细看,最后一行,没有数据,只有4个“逗号”,如果用Excel打开,就看不见最后那条数据(就是全部是“逗号”那条),表面一共4条数据,实际却有5条数据,所以系统读取CSV文件批量导入数据会出错。

3.问题实质

      其实这是Excel的问题,Excel为了提供了丰富强大的功能,实际上在文件中保存了一些额外的信息,这个和Word一样的,我们用WPS打开doc文档,有些功能样式WPS不支持,文档就会乱,因为那些额外的信息WPS处理不了,又不能删除,因为那也是文件的一部分。同样的,看下面这张图,我们在第5行,什么数据也不输入,但是标一个黄色,这样用notpad打开后,黄色标记notpad不支持,但是确实有数据,所以是一共是5条数据(多了全部是“逗号”那条,见上面那张图),同时,虽然notpad虽然不支持,但是它也尽力去读取这条数据,造成只有黄色标记的这行数据乱了,我们再用Excel打开,会发现只有4条数据(见最后那张图),黄色标记的那条不见了(被notpad修改了数据)。这样,当用户用Excel操作时,就可能不小心加入了额外的样式和特效,表面上没有问题,但是,实际上却存在非法格式数据,造成系统读取数据失败,批量导入失败。所以要提醒用户,上传文件前,需要通过notpad检查数据,及时去掉额外的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值