如何解压缩文件,更改csv表并再次压缩?

问题描述

我有很多.zip文件。我需要:

在R中有可能吗?对于许多文件来说,这是一项艰巨的任务,因为它是大型数据集,我需要按顺序进行处理。除了.csv文件之外,每个zip文件夹中还有一些其他文件

解决方法

使用unzipzip函数。在lapply循环中,我们首先创建一个tempfile,该unzip用于read.csv,并且可以grep使用。我们用toEdit <- c("df1.zip","df2.zip","df3.zip") lapply(toEdit,function(z) { temp <- tempfile() temp <- unzip(z) r <- read.csv(temp[grep("csv",temp)]) ## edit data r <- r/10 ## end edit data nn <- gsub("zip","csv",z) write.csv(r,nn) zip(z,nn) unlink(temp) }) 标识.csv。然后编辑并逆转该过程。只有.csv得到更新,其他文件保持不变。

write("foo","xy1.foo")
write("foo","xy2.foo")
sapply(1:3,function(i) {
  write.csv(data.frame(matrix(1:12,3,4)),paste0("df",i,".csv"))
  zip(paste0("df",".zip"),"xy1.foo")
  zip(paste0("df","xy2.foo")
})

示例数据:

使用一个.csv文件和其中的一些其他内容创建.zip存档。

{{1}}