microsoft微软excel或WPS表格打开vivado逻辑分析仪ILA保存的csv文件,自动转换科学计数法损失精度的bug

问题

vivado的逻辑分析仪ILA,可以方便的把数据导出成CSV(Comma-Separated Values)文件,实际是逗号作为分隔符的数据文件。

导出数据文件用文本编辑器打开,第74行有如下数据:

但是使用excel打开这个csv文件,则这个数据自动显示为科学计数法,但是值的最后一位已经从8变成0:

误差

这个值代表的双精度浮点数,误差-0.00000000000005

解决方法

网络上有几种解决方法:

方法1:使用文本导入向导(亲测有效)

不要直接双击打开CSV文件。而是首先打开Excel,然后使用"数据"菜单上的"从文本获取数据",导入该CSV文件:

文件类型选"分隔符号":

分隔符选"逗号",文本识别符号可以任意或根据实际选择:

最关键的这步!默认所有列都是按照常规方式导入,问题就出在这里:

必须选中第4列,改为文本:

如果是WPS,可以在文件/选项/新特性,对话框,去掉"打开CSV文件是不弹对话框"前面的勾:

以后双击文件打开时,即可先指定每一列的格式,这样打开的CSV文件不会因为自动转换为科学计数法而损失精度:

方法2:在CSV文件中预格式化

在打开CSV文件之前,您可以通过在订单号前加上一个等号和双引号来预格式化这些数字。例如,将订单号 1234567890123456789 修改为 ="1234567890123456789"。这样做可以让Excel把这些值当作文本处理。

方法3:使用文本编辑器预处理

使用文本编辑器(如记事本)打开CSV文件。

手动添加一个单引号 ' 在每个长数字前。例如,将 1234567890123456789 修改为 '1234567890123456789。

保存CSV文件,然后用Excel打开。

相关推荐
Lowe-小码5 分钟前
Excel 基础知识-操作手册2
excel
小鹿( ﹡ˆoˆ﹡ )38 分钟前
Excel数据清洗工具:提高数据处理效率的利器
linux·运维·excel
青灯古佛初照39 分钟前
EasyExcel 动态表头+表头合并
java·excel
码农超哥同学43 分钟前
Python知识点:如何使用Python进行Excel文件操作(OpenPyXL、Pandas)
python·面试·excel·pandas·编程
美酒没故事°1 小时前
前端用html写excel文件直接打开
excel
小奥超人4 小时前
批量操作Excel的四个方法(求和、移动、对比、合并)
windows·经验分享·microsoft·excel·办公技巧
lee2419735 小时前
POI生成Excel文件增加数据验证(下拉序列)
java·excel
有杨既安然5 小时前
Python数据分析与可视化基础教程
开发语言·python·信息可视化·数据分析·excel
丨我是张先生丨5 小时前
Python 导出Excel
python·excel
Red Red11 小时前
Excel数据转置|Excel数据旋转90°
笔记·学习·excel