5

让以下向量:

x <- c(123456789123456789, 987654321987654321)
y <- as.character(x)

我正在尝试导出y到 csv 文件,以便以后转换为 XLSX(不要问,客户要求),如下所示:

 write.csv(y, file = 'y.csv', row.names = F)

如果我y.csv在纯文字处理器中打开,我可以看到它在元素周围正确插入了引号,但是当我在 Excel 中打开它时,程序坚持将列转换为数字并以科学格式显示内容。这需要重新格式化列的额外步骤,当处理大量文件时,这可能会真正浪费时间。

如何在 R 中格式化 20 位数字的字符向量,以便 Excel 不会以科学计数法显示它们?

4

2 回答 2

7

除了通过 打开 csv 文件File->Open,您可以转到Data->From TextExcel 并在最后一步指定Column data format要为Text.

虽然不确定这样做是否可以节省任何时间,但您也可以考虑使用WriteXLS(或其他一些直接到 xls 的)包。


编辑

是强制 Excel 以文本形式读取的更好方法:

write.csv(paste0('"=""', y, '"""'), 'y.csv', row.names = F, quote = F)
于 2013-06-28T18:41:31.757 回答
1

在 Excel 中,选择数字列,并将其格式化为文本。(单元格格式 -> 数字选项卡 -> 左侧列表中的文本)

于 2013-06-28T18:41:17.060 回答