R:解压缩多个文件,每个文件都在新的子目录中或重命名

2024-03-07

我设法调整一些代码来解压缩许多文件。 但是解压时会出现同名文件 被替换。

在我的工作目录中,我有 .zip 文件。 我在该目录中创建了一个名为 unzip 的新文件夹, 我在其中解压缩了文件。

dir.create(paste0(path, "/unzip/"))

ldply(.data = list.files(path = path, pattern = ".zip", full.names = T), .fun = unzip, exdir = paste0(path, "/unzip"), overwrite = FALSE)

由于每个 .zip 文件都具有相同的体系结构,因此文件将被替换。我的问题: 1)有没有办法指定每个文件如果是双重的则应重命名? 2) 另一种方法是指定在解压缩文件夹中,对于每个 .zip 文件,将创建一个新文件夹,在其中解压缩相应的文件。

THX


As the plyr包已弃用,我将使用purrr::walk()反而。我正在加载整个tidyverse since stringr::str_c()也被使用。在下面的代码中,"zip_files"是包含 zip 文件的目录,"zip_out"是文件解压到的文件夹,两者都位于工作目录中。后者包含每个 zip 文件的文件夹。不需要预先创建文件夹,因为unzip()为我们解决这个问题。

library(tidyverse)

file_names <- list.files("zip_files")
walk(file_names, ~ unzip(zipfile = str_c("zip_files/", .x), 
                         exdir = str_c("zip_out/", .x)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:解压缩多个文件,每个文件都在新的子目录中或重命名 的相关文章

随机推荐