我正在尝试自动提取用7-zip压缩的多个文件。我需要自动化此过程,因为a)有许多年的数据我想解锁,b)我想与他人分享我的代码并防止他们手动重复此过程。
我在计算机上都安装了WinRAR和7-zip,并且我可以使用任一程序轻松地单独打开这些文件。
我查看了unzip
、untar
和unz
命令,但我不认为它们中的任何一个都能满足我的需求。
关于压缩,我一无所知,但如果有区别的话:每个文件都只包含一个文件,而且它仅仅是一个文本文件。
我非常希望有一个不需要用户安装其他软件(如WinRAR或7-Zip)并执行带有shell
的命令的解决方案,尽管我承认这可能是不可能只用R和CRAN包完成的任务。事实上,我认为在安装了WinRAR的计算机上,通过对这些文件使用附加参数运行shell.exec
可能会起作用,但再次强调,如果可能的话,我想避免那种安装。 :)
运行下面的代码将加载我正在尝试提取的文件-- files.data
中的.7z文件需要解锁。
# 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
谢谢!!! :)