【发布时间】:2017-02-25 05:21:31
【问题描述】:
有没有办法选择性地从 .zip 存档中提取名称与模式匹配的那些文件?
例如,如果我想使用存档中的所有 .csv 文件并忽略其他文件。
目前的做法:
zipped_file_names <- unzip('some_archive.zip') # extracts everything, captures file names
csv_nms <- grep('csv', zipped_file_names, ignore.case=TRUE, value=TRUE)
library('data.table')
comb_tbl <- rbindlist(lapply(csv_nms, function(x) cbind(fread(x, sep=',', header=TRUE,
stringsAsFactors=FALSE),
file_nm=x) ), fill=TRUE )
我不只是选择要阅读的内容 (csv_nms),而是寻找一种方法来选择首先提取哪些内容。
我目前使用的是 v3.2.2 (Windows)。
【问题讨论】:
-
您可以使用
unzip的list=TRUE参数来获取文件名列表,然后遍历要提取的文件名 -
多哈。在仔细阅读
?unzip之后,我看到:list If TRUE, list the files and extract none. The equivalent of unzip -l.谢谢。