python csv文件使用excel打开数字丢失精度

最近用脚本生成了一个csv文件,用text打开csv文件数据是正常的。但是用wps打开时,文件中的数据不对,例如我有一个数据在csv中对应的一列时一个长整型,例如值为:10106491971116205,当用excel打开时,会被自动转换成科学记数法,值也会发送变化,变成10106491971116200,自动转换时精度丢失。

通常在Excel中输入数值时,如果超过11位(12位及以上),Excel就会用科学计数法显示该数值,如 “123456789012”会显示为“1.23457E+11”。这是由于默认单元格格式为“常规”,该格式对于12位及以上的数值就会用科学计数法显示。但Excel单元格中的最大数字精度为15,输入12-15位的数值也会用科学计数法来显示。

处理办法有2个,

方案一:

不要直接打开csv文件,新建一个excel,使用导入的方式导入数据

但这种方法有个问题,如果你的数据中带有逗号,分割时会出问题,格式会乱掉。导入过程可能失败:从EXCEL2013导入数据CSV文件,提示报错“此文本文件包含的数据无法放置在一个工作表中。如要继续导入可容纳的数据,请单击确定。

参考:https://blog.csdn.net/u010290051/article/details/84374098

方案二

在生成csv文件时,对于会丢失精度的数据,对该值做处理,在后面加上”\t“,加上一个制表符,这样能避免打开时精度丢失

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值