我正在尝试自动提取一些用 7-zip 压缩的文件。我需要自动化这个过程,因为a)我想解锁多年的数据,b)我想与其他人分享我的代码并防止他们手动重复这个过程。
我的计算机上同时安装了 WinRAR 和 7-zip,我可以使用任何一个程序轻松地单独打开这些文件。
我环顾了unzip
untar
andunz
命令,但我不相信它们中的任何一个都可以满足我的需求。
我对压缩一无所知,但如果它有什么不同的话:这些文件中的每一个都只包含一个文件,而且它只是一个文本文件。
我非常喜欢不需要用户安装其他软件(如 WinRAR 或 7-Zip)并使用 执行命令的解决方案shell
,尽管我承认仅使用 R 和 CRAN 包可能无法完成此任务。我实际上相信shell.exec
在这些带有附加参数的文件上运行可能会在安装了 WinRAR 的计算机上运行,但同样,如果可能的话,我想避免这种安装。:)
运行下面的代码将加载我要提取的文件——其中的 .7z 文件files.data
是需要解锁的文件。
# create a temporary file and temporary directory, download the file, extract the file to the temporary directory
tf <- tempfile() ; td <- tempdir()
file.path <- "ftp://ftp.ibge.gov.br/Orcamentos_Familiares/Pesquisa_de_Orcamentos_Familiares_2008_2009/Microdados/Dados.zip"
download.file( file.path , tf , mode = "wb" )
files.data <- unzip( tf , exdir = td )
# how do i unzip ANY of these .7z files?
files.data
谢谢!!!:)