【问题标题】:How to save a data frame in a txt or excel file separated by columns如何将数据框保存在按列分隔的 txt 或 excel 文件中
【发布时间】:2013-08-29 15:10:21
【问题描述】:

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

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

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

【问题讨论】:

  • 请将您要的样本数据发给write
  • 并使用记事本打开写入的文件并检查。是否用逗号分隔?标签?分号?
  • 你试过write.csv2吗?
  • 谢谢@Roland,那是我要找的!

标签: r


【解决方案1】:

我最喜欢的实现方式是:

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

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

【讨论】:

    【解决方案2】:

    write.table 的默认分隔符是一个空格。虽然.txt 通常用于表示电子表格,但它真正表明它是一个文本文件。如果你想要的是一个.tsv,或者一个带有制表符分隔值的文件,那么你可以试试write.table(x,sep="\t")。这将使用制表符分隔您的文件,当您尝试打开文件时,excel 应该会注意到这一点。我真的推荐给?write.table(和?read.table,而我们正在阅读)好好阅读。因为真的,即使你的代码是完美的,如果你不正确地读取或写入数据,那又有什么意义呢?

    【讨论】:

      【解决方案3】:

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

      您可能还想查看 XLConnect 包,它将直接创建 excel 文件,而无需通过文本文件。 (还有几个其他包也可以写入 excel 文件,但 XLConnect 是我使用过的最好的包)。

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          在下面使用

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-03-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-27
            • 2021-09-05
            相关资源
            最近更新 更多