Un suivi de Cette question < / a>: Comment puis-je télécharger et décompresser un fichier gzippé à l'aide de r? Par exemple (de Le référentiel d'apprentissage de la machine UCI ), j'ai un Voici l'URL de données: http://archive.ics.uci.edu/ml/databases/tic/tic.tar.gz code>. P>
3 Réponses :
Veuillez indiquer le contenu de Aide (télécharger.file) code> pour cela. Si le fichier en question est simplement un fichier gzippé mais lisible, vous pouvez alimenter l'URL complète sur
read.table () code> et plus. P>
Ce n'est pas seulement gzippé mais un dossier compressé de fichiers
Néanmoins, c'est un bon conseil que vous pouvez simplement utiliser read.table ('myURL.GZIP') sur des fichiers individuels.
Voici un moyen rapide de le faire.
# create download directory and set it .exdir = '~/Desktop/tmp' dir.create(.exdir) .file = file.path(.exdir, 'tic.tar.gz') # download file url = 'http://archive.ics.uci.edu/ml/databases/tic/tic.tar.gz' download.file(url, .file) # untar it untar(.file, compressed = 'gzip', exdir = path.expand(.exdir))
Comme je l'ai dit, c'est pratiquement identique à ce que j'ai écrit Dans cette question à la question - MODULO Le numéro de contenu du fichier TAR vs zip et le fait que vous n'utilisez pas de température appropriée. Diretory. Je pense que toute la question pourrait être fermée comme duplicata.
Dirk, je ne comprends toujours pas comment c'est un duplicata. Unz code> fonctionne uniquement avec des fichiers ZIP contenant un seul fichier. Donc, la différence entre
endommager code> et
unz code> est raisonnablement significatif dans mon esprit pour mériter une question différente. Est-ce que je manque quelque chose de complètement ici?
Alors maintenant, pour la troisième fois: télécharger un fichier distant, en développant dans un emplacement Temp et travailler sur le contenu est pareil entre les deux réponses. La seule différence mineure est la seule opération que vous utilisez pour extraire le contenu, selon qu'il s'agisse d'une fermeture à glissière ou de tarfil. Est-ce vraiment si difficile à saisir?
Je comprends que très bien Dirk. Mais à cela compte, plusieurs questions devraient être fermées comme dupliquées si tout ce qui importait était le concept sous-jacent derrière les réponses. À mon humble avis, un lecteur souhaitant extraire une archive téléchargée ne serait pas en mesure d'atteindre son objectif sur la base de l'autre question. Je ne veux pas prolonger cette discussion, mais s'il y en a plusieurs autres qui voient cela comme une simple extension et un duplicata, n'hésitez pas à la mettre à la main.
+1. Question rapide: Est-ce que path.expand code> est nécessaire pour que le code fonctionne ou est-ce simplement la meilleure pratique pour utiliser le chemin complet au lieu de s'appuyer sur R B> Faire l'expansion de tilde?
J'aime l'approche de Ramnath, mais j'utiliserais des fichiers temporisques comme: list.files () code> devrait produire quelque chose comme ceci: p > que vous pouvez analyser si vous aviez besoin d'automatiser ce processus pour beaucoup de fichiers. p> p>
+1 Nice approche pour automatiser le processus. Peut-être que Télécharger + Unzip devrait être une fonction à part entière car il s'agit d'une opération très courante.
Oui, c'est plus ou moins ce qui était dans ma réponse à la question Zach déjà liée à: Stackoverflow.com/questions/3053833/...
Je pensais que l'utilisation de basename () et de liste.files () valait la peine d'illustrer.