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打开。

相关推荐
CodeCraft Studio3 小时前
Excel处理控件Aspose.Cells教程:使用 C# 在 Excel 中创建组合图表
c#·excel·aspose·图表
小镇学者3 小时前
【PHP】导入excel 报错Trying to access array offset on value of type int
android·php·excel
CodeCraft Studio3 小时前
Excel处理控件Aspose.Cells教程:使用 C# 从 Excel 进行邮件合并
开发语言·c#·excel
CodeCraft Studio9 小时前
Excel处理控件Aspose.Cells教程:使用 C# 在 Excel 中应用数据验证
c#·excel·aspose·文档开发·文档处理
雾林小妖12 小时前
POI设置Excel单元格背景色
excel·poi设置背景色
只有干货13 小时前
java若依 excel 导出高度自适应
java·excel
饼干哥哥18 小时前
3个实操案例,学会用DeepSeek做VBA开发实现Excel自动化
excel·deepseek
CodeCraft Studio1 天前
国产化Excel处理组件Spire.XLS教程:用 Java 获取所有 Excel 工作表名称(图文详解)
java·excel·数据处理·spire
前端sweetGirl1 天前
Excel 怎么让透视表以正常Excel表格形式显示
excel
_oP_i2 天前
Excel 发现此工作表中有一处或多处公式引用错误。请检查公式中的单元格引用、区域名称、已定义名称以及到其他工作簿的链接是否均正确无误。弹窗
excel