R 如何在以列分隔的txt或excel文件中保存数据框
我有一个关于以txt或excel格式保存数据帧的问题。我在R中有一个数据帧,但当我保存它时:R 如何在以列分隔的txt或excel文件中保存数据框,r,R,我有一个关于以txt或excel格式保存数据帧的问题。我在R中有一个数据帧,但当我保存它时: 首先使用write.table()函数当我打开保存的数据框(例如在Excel中)时,所有列都分组在一列中,您必须在Excel中分离这些列,否则可能会丢失数据。write.csv()函数也会发生同样的情况 是否可以将所有列分开保存在数据框中。谢谢。您应该能够使用write.csv()完成此操作 这是一个在我的机器上运行的示例。我创建了一个data.frame,用write.csv保存它,并在Excel中打
write.table()
函数当我打开保存的数据框(例如在Excel中)时,所有列都分组在一列中,您必须在Excel中分离这些列,否则可能会丢失数据。write.csv()
函数也会发生同样的情况是否可以将所有列分开保存在数据框中。谢谢。您应该能够使用
write.csv()
完成此操作
这是一个在我的机器上运行的示例。我创建了一个data.frame
,用write.csv
保存它,并在Excel中打开它,没有问题
a <- 1:5
b <- 6:10
c <- 11:15
df <- data.frame(a,b,c)
write.csv(df, 'test2.csv')
a您保存的文件可能没有问题,您只是错误地将其加载到Excel中(没有示例很难确定)。导入Excel时,可以通过多种方式指定分隔符以及其他选项。您还可以通过在write.table
中设置一些选项来简化流程。另外,请检查您的区域设置,默认分隔符可能会有所不同,具体取决于您的计算机认为它位于欧洲(或某些国家)或美国(或某些其他国家),可能是您的R版本和excel版本不同意您位于哪个区域(因此使用哪个分隔符)
您可能还想看看XLConnect软件包,它将直接创建excel文件,而无需查看文本文件。(还有几个其他软件包也会写入excel文件,但XLConnect是我最熟悉的软件包)
将数据框或矩阵快速传输到excel的另一个选项(至少在windows上,不确定这是否适用于其他操作系统)是使用write table withfile=“clipboard”
和sep=“\t”
,然后在excel窗口中单击一个单元格,然后执行“粘贴”数据将通过剪贴板而不是文件保存在excel中。写入的默认分隔符。表
是一个空格。虽然.txt
通常用于表示电子表格,但它真正表明的是它是一个文本文件。如果您想要的是一个.tsv
,或者一个带有制表符分隔值的文件,那么您可以尝试写入.table(x,sep=“\t”)
。这将对您的文件进行分隔,当您尝试打开文件时,excel应该会注意到这一点。我真的建议大家好好阅读一下givning?write.table
(和?read.table
)。因为事实上,即使你的代码是完美的,如果你不正确地读写数据,那又有什么意义呢?我最喜欢的方法是实现这一点(因为我经常需要与非R用户共享在R中处理的数据框,他们只需双击并在Excel中很好地打开数据框就很方便了):
如上所述,sep=“\t”
argument选项卡为您的文件定界,但我认为删除行名也很有用,除非需要 在下面使用
install.packages(openxlsx)
library(openxlsx)
write.xlsx(dataframe,"C:/Users/santoshr/Desktop/export10.xlsx",sheetName = "Sheet1",col.names = TRUE,showNA=FALSE)
请显示要写入的示例数据,并使用记事本打开写入的文件并进行检查。它是用逗号分隔的吗?账单?分号?你试过写.csv2吗?谢谢@Roland,这就是我要找的!
install.packages(openxlsx)
library(openxlsx)
write.xlsx(dataframe,"C:/Users/santoshr/Desktop/export10.xlsx",sheetName = "Sheet1",col.names = TRUE,showNA=FALSE)