在 r 中压缩很多文件
zipping very many files in r
我在临时目录中有 7300 个 *.csv 文件。我想将它们压缩到 R 中的 zip 存档中。我正在使用以下代码,这将永远占用。除了退出 R 并使用 WinZip 程序之外,有没有办法更快地完成此操作?
fileListing = list.files( pattern = '*.csv' )
outZipFileName = gsub( '.zip', '_TZflts.zip', zipName )
sapply(seq_along( fileListing),function(ii) zip( outZipFileName, fileListing[ii] ) )
另一个问题是,除了 zip 文件及其 csv 内容之外,代码中的 zip 进程还会生成大量垃圾文件。
谢谢。
BSL
您不需要遍历文件,zip
可以获取要压缩的文件的向量:这应该会加快速度。来自 ?zip
files is : 'A character vector of recorded filepaths to be included.'
示例
# write some files to be zipped
for(i in 1:10) write.csv(mtcars, paste0("SOtemp", i, ".csv"))
# zip
zip("SOzip", files=list.files(pattern="SOtemp\d"))
# remove files from this example
# file.remove(c("SOzip.zip", list.files(pattern="SOtemp\d")))
我在临时目录中有 7300 个 *.csv 文件。我想将它们压缩到 R 中的 zip 存档中。我正在使用以下代码,这将永远占用。除了退出 R 并使用 WinZip 程序之外,有没有办法更快地完成此操作?
fileListing = list.files( pattern = '*.csv' )
outZipFileName = gsub( '.zip', '_TZflts.zip', zipName )
sapply(seq_along( fileListing),function(ii) zip( outZipFileName, fileListing[ii] ) )
另一个问题是,除了 zip 文件及其 csv 内容之外,代码中的 zip 进程还会生成大量垃圾文件。
谢谢。
BSL
您不需要遍历文件,zip
可以获取要压缩的文件的向量:这应该会加快速度。来自 ?zip
files is : 'A character vector of recorded filepaths to be included.'
示例
# write some files to be zipped
for(i in 1:10) write.csv(mtcars, paste0("SOtemp", i, ".csv"))
# zip
zip("SOzip", files=list.files(pattern="SOtemp\d"))
# remove files from this example
# file.remove(c("SOzip.zip", list.files(pattern="SOtemp\d")))