繁体   English   中英

如何将数据框保存在由列分隔的txt或excel文件中

[英]How to save a data frame in a txt or excel file separated by columns

我有一个关于以txt或excel格式保存数据帧的问题。 我在R中有一个数据框但是当我保存它时:

  1. 首先使用write.table()函数,例如在Excel中打开保存的数据框时,所有列都分组在一列中,您必须在Excel中分隔列,否则会丢失数据。 write.csv()函数也是如此。

是否可以在R中保存所有列分开的数据框。 谢谢。

我最喜欢的方法是实现这一点(因为我经常需要与非R用户共享在R中处理的数据帧,并且方便他们只需双击并在Excel中打开它就是):

write.table(x,"filename.txt",sep="\t",row.names=FALSE)

如上所述, sep="\\t"参数选项卡会分隔您的文件,但我认为除非需要,否则删除行名称也很有用。

write.table的默认分隔符是单个空格。 虽然.txt通常用于表示电子表格,但它真正表明的是它是一个文本文件。 如果你想要的是.tsv ,或者是一个带有tab分隔值的文件,那么你可以尝试write.table(x,sep="\\t") 这将选项卡界定您的文件,当您尝试打开文件时,excel应该选择该文件。 我真的建议你写一下?write.table (和我们在读的时候读?read.table )一个很好的阅读。 因为实际上,即使您的代码是完美的,如果您不正确地读取或写入数据,重点是什么?

您应该可以使用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')

您正在保存的文件可能正常,您只是将其正确加载到Excel中(如果没有示例,很难确定)。 导入Excel时,有多种方法可以指定分隔符和其他选项。 您还可以通过在write.table设置一些选项来简化该过程。 同时检查您的区域设置,默认分隔符可能会有所不同,具体取决于您的计算机是否认为它位于欧洲(或某些国家/地区)或美国(或某些其他国家/地区),可能是您的R版本和您的Excel版本不同意您所在的区域(以及使用哪个分隔符)。

您可能还想查看XLConnect包,它将直接创建excel文件,而无需通过文本文件。 (还有一些其他软件包也会写入excel文件,但XLConnect是我最好的经历)。

快速传输数据框或矩阵到excel的另一个选项(至少在Windows上,不确定这是否适用于其他操作系统)是使用带有file="clipboard"sep="\\t"写表,然后在Excel中窗口单击一个单元格,然后执行“粘贴”,数据将通过剪贴板而不是文件在Excel中。

使用下面

install.packages(openxlsx)
library(openxlsx)


write.xlsx(dataframe,"C:/Users/santoshr/Desktop/export10.xlsx",sheetName = "Sheet1",col.names = TRUE,showNA=FALSE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM