Wie programmgesteuert zu extrahieren / entpacken Sie eine .7z (7-zip) Datei mit R

Ich versuche zur Automatisierung der Extraktion der Anzahl der Dateien, die komprimiert mit 7-zip. Ich brauche, um diesen Prozess zu automatisieren, weil a) es sind viele Jahre Daten würde ich gern entsperren und b) möchte ich meinen code mit anderen zu verhindern, dass Sie wiederholt den Prozess von hand.

Ich habe sowohl WinRAR und 7-zip auf meinem computer installiert, und ich kann individuell öffnen Sie diese Dateien einfach mit jedem Programm.

Hab ich blickte auf die unzip untar und unz Befehle, aber ich glaube nicht, dass jeder von Ihnen tun, was ich brauche.

Ich weiß nichts über die Kompression, aber wenn es einen Unterschied macht: jede dieser Dateien enthält nur eine Datei und es ist nur eine text-Datei.

Ich würde stark bevorzugen eine Lösung, die nicht erfordern, dass der Benutzer zusätzliche software installieren (wie WinRAR oder 7-Zip) und einen Befehl ausführen, mit shell, obwohl ich bestätigen, dass Sie diese Aufgabe möglicherweise nicht mit der nur-R und-CRAN-Pakete. Ich glaube wirklich läuft shell.exec auf diese Dateien mit zusätzlichen Parametern kann die Arbeit auf Computern mit WinRAR installiert, aber wieder, ich möchte vermeiden, dass die installation wenn möglich. 🙂

Läuft Sie den code unten laden Sie die Dateien, die ich versuche zu extrahieren -- den .7z-Dateien in files.data sind, was erschlossen werden muss.

# 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

Dank!!! 🙂

Die beste Lösung wäre ein Paket, die Lesen und schreiben konnten 7z-Dateien mit den standard-API-Verbindung oder über temporäre Dateien auf der Festplatte. Aber ich denke nicht, dass das Paket vorhanden ist.
vereinbart. jetzt bin ich Petitionen, die Leute bei der brasilianischen Volkszählung zu Folgen @dirk Beratung und re-post die Dateien mit einem standard-format 🙂 danke hadley!
das Beispiel zeigt, ist ein pkzip-compresse-Datei nicht ein p7 komprimierte Datei. So wird Ihre standard unzip() funktionieren würde. Eine Verwandte Frage wäre, stackoverflow.com/questions/31146263/sys-glob-within-unzip

InformationsquelleAutor Anthony Damico | 2013-04-19

Schreibe einen Kommentar