将数字向量导出为CSV
让以下vector:
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不会以科学记数法显示它们?
通过File->Open
csv文件,您可以转到Excel中的Data->From Text
,最后一步指定Column data format
为Text
。
不确定的是,通过这样做可以节省时间,还可以考虑使用WriteXLS
(或其他一些直接的xls)包。
编辑
这是强制Excel读取文本的好方法:
write.csv(paste0('"=""', y, '"""'), 'y.csv', row.names = F, quote = F)
在Excel中,select数字列,并将其格式化为文本。 (格式化单元格 – >数字标签 – >左侧列表中的文本)