首页 > 解决方案 > 写入 CSV 文件时如何关闭科学记数法?

问题描述

我已经在 R 中导入了 Excel 文件。因此,我测试了不同的包 ( readxl, openxlsx)。这些电子表格中的某些字段带有大的十进制数字。这些是作为科学数字导入的。

我使用options(scipen=999). 这适用于将数字作为非科学数字打印到控制台。数据位于 data.table 结构中。

但是,当我将数字导出到 CSV 时,我会在 CSV 文件中返回科学记数法。我测试了不同的方法(write.csv、、、write.csv2fwrite)。我遇到了所有方法的问题。

有什么方法可以关闭 CSV 输出中的科学记数法?

我无法 100% 重现该问题,但我尝试制作一个可重现的示例

标签: rcsvdata.tableexportscientific-notation

解决方案


您可以sprintf(fmt = "%f", ...)在保存前应用到您的数据。

sprintf(fmt = "%.2f", 1e3) == "1000.00"

推荐阅读