将数字向量作为字符导出为CSV

Wal*_*cio 5 csv excel export r export-to-csv

让以下向量:

x <- c(123456789123456789, 987654321987654321)
y <- as.character(x)
Run Code Online (Sandbox Code Playgroud)

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

 write.csv(y, file = 'y.csv', row.names = F)
Run Code Online (Sandbox Code Playgroud)

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

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

edd*_*ddi 6

File->Open您可以转到Data->From TextExcel并在最后一步指定Column data format要执行的操作,而不是通过打开csv文件Text.

虽然不能确保通过这样做节省时间,但您也可以考虑使用WriteXLS(或其他一些直接到xls)包.


编辑

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

write.csv(paste0('"=""', y, '"""'), 'y.csv', row.names = F, quote = F)
Run Code Online (Sandbox Code Playgroud)

  • 只需将上面的 `paste` 应用于您喜欢的列,在这种特殊情况下:`z$y = paste0('"=""', z$y, '"""')` (2认同)