【问题标题】:How do I zip a csv file and write that zipped file to a folder using R如何压缩 csv 文件并使用 R 将该压缩文件写入文件夹
【发布时间】:2016-07-20 17:58:40
【问题描述】:

我有一个 R 脚本,它在计算后生成一个将近 80000 KB 的 csv 文件。我想将此 csv 文件写入文件夹,例如 D:/My_Work/Output,文件名 result.zip 作为压缩文件。请建议是否有任何功能或任何方式可以实现这一点。

【问题讨论】:

    标签: r csv rscript


    【解决方案1】:

    使用zip函数:

    zip(*path to zip*,*path to csv*)
    

    编辑:不幸的是,您不能直接从 data.frame 转到压缩的 csv。您需要明确地制作 csv,但编写一个删除 csv 的包装器并不难,这样您就永远不会知道它的存在:

    zipped.csv <- function(df, zippedfile) {
      # init temp csv
      temp <- tempfile(fileext=".csv")
      # write temp csv
      write.csv(df, file=temp)
      # zip temp csv
      zip(zippedfile,temp)
      # delete temp csv
      unlink(temp)
    }
    

    【讨论】:

    • 感谢您的解决方案
    • 不是将生成的数据帧写入 csv 文件,然后读取并压缩它,有什么方法可以直接将数据帧作为压缩的 csv 文件保存到文件夹中?如果我的看法是错误的,请纠正我。
    【解决方案2】:

    如果您只想节省一些磁盘空间,那么使用 *.gz 压缩会更方便。

    write.csv(iris, gzfile("iris.csv.gz"), row.names = FALSE)
    iris2 = read.csv("iris.csv.gz")
    

    【讨论】:

    • 谢谢@Gregory。我会试试这个。
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2013-03-09
    相关资源
    最近更新 更多