【发布时间】:2016-07-20 17:58:40
【问题描述】:
我有一个 R 脚本,它在计算后生成一个将近 80000 KB 的 csv 文件。我想将此 csv 文件写入文件夹,例如 D:/My_Work/Output,文件名 result.zip 作为压缩文件。请建议是否有任何功能或任何方式可以实现这一点。
【问题讨论】:
我有一个 R 脚本,它在计算后生成一个将近 80000 KB 的 csv 文件。我想将此 csv 文件写入文件夹,例如 D:/My_Work/Output,文件名 result.zip 作为压缩文件。请建议是否有任何功能或任何方式可以实现这一点。
【问题讨论】:
使用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)
}
【讨论】:
如果您只想节省一些磁盘空间,那么使用 *.gz 压缩会更方便。
write.csv(iris, gzfile("iris.csv.gz"), row.names = FALSE)
iris2 = read.csv("iris.csv.gz")
【讨论】: