Я пытаюсь автоматизировать извлечение нескольких файлов, сжатых с помощью 7-zip. Мне нужно автоматизировать этот процесс, потому что: а) есть многолетние данные, которые я хотел бы разблокировать, и б) я хотел бы поделиться своим кодом с другими и не дать им повторить процесс вручную.
У меня на моем компьютере установлены как WinRAR, так и 7-zip, и я могу индивидуально открывать эти файлы с помощью любой программы.
Я просмотрел команды unzip
untar
и unz
, но я не считаю, что кто-то из них делает то, что мне нужно.
Я ничего не знаю о сжатии, но если это имеет значение: каждый из этих файлов содержит только один файл и это просто текстовый файл.
Я бы предпочел решение, которое не требует от пользователя установки дополнительного программного обеспечения (например, 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
Спасибо!!!:)