如何压缩csv文件并使用R将该压缩文件写入文件夹

时间:2016-07-20 17:58:40

标签: r csv rscript

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

2 个答案:

答案 0 :(得分: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)
}

答案 1 :(得分:1)

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

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