J'essaie de télécharger un fichier dans R 3.0.1 (Windows 7):
fileUrl <- "https://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD"
download.file(fileUrl, destfile="./data/cameras.csv", method="curl")
J'ai vérifié à la fois l'URL et ma connexion Internet et ils semblent bien fonctionner. Cependant, je reçois ce message:
Warning message:
In download.file(fileUrl, destfile = "./data/cameras.csv", method = "curl") :
download had nonzero exit status
Vous ne trouvez aucune aide en ligne, tout le monde sait comment résoudre ce problème?
La réponse de @dickoa fonctionne probablement, mais je pense que le problème majeur est que vous utilisez https
sans nécessité. Je pense que cela fonctionne:
# Note the http instead of https
file<-'http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD'
read.csv(file)
Je ne comprends toujours pas pourquoi la suppression de method = "curl"
ne résout pas le problème.
Une autre solution consiste à installer le paquetage downloader
qui encapsule download.file
et rend le processus de téléchargement plus facile et multiplate-forme (une fonction avec les mêmes paramètres pour tous les systèmes d'exploitation).
install.packages("downloader")
fileUrl <- "https://data.baltimorecity.gov/api/views/dz54-2aru
/rows.csv?accessType=DOWNLOAD"
require(downloader)
download(fileUrl, "data/cameras.csv", mode = "wb")
J'espère que ça marchera cette fois
Utilisez setInternet2 avant de télécharger. cela a fonctionné pour moi.
setInternet2 (utilisation = T)
fichier <- "URL"
download.file (file, destfile = "./data/cameras.csv")
Essayez une autre méthode: ..., method = "libcurl")
@ Dickoa: Étant donné que vous obtenez "VRAI" quand vous le faites:
file.exists("./data")
Je suppose que vous avez écrit initialement:
if (!file.exists("data")) { file.create("data") }
avant d’effectuer le code que vous avez partagé pour télécharger le fichier csv. Cependant, cela crée un fichier "data", pas un répertoire. Donc, ce qui suit devrait être écrit dans votre script R avant votre code:
if (!file.exists("data")) { dir.create("data") }
Après cela, je pense que votre code devrait fonctionner correctement. J'espère que cela t'aides.
Cela marche!
fichier <- ' http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD ' download.file (file, destfile = "caméras. CSV ")
fileUrl1 <- "https: // ... xyz.csv"
download.file (fileUrl1, destfile = "./ data/xyz.csv", method = "curl")
Utilisez ce qui suit (http au lieu de https dans la première ligne et dans la deuxième ligne, supprimez mehod = "curl")
fileUrl1 <- "http: // ... xyz.csv"
download.file (fileUrl1, destfile = "./données/xyz.csv")
essayez ceci, vous pouvez télécharger le fichier csv
J'ai trouvé cela fonctionne après en omettant le SSL dans https ie
NatGas <- " http://d396qusza40orc.cloudfront.net/getdata%2Fdata%2FDATA.gov_NGAP.xlsx "
puis définissez la méthode sur "auto"
download.file (NatGas, destfile = "./TidyData/NatGas.xlsx",method =" auto ", mode =" wb ")
Lorsque vous appelez download.file()
, le répertoire ne sera pas créé pour vous.
Au lieu de cela, vous devez avoir un répertoire valide déjà créé pour créer le fichier.
Mon hypothèse est que vous n'avez pas encore créé le dossier appelé data
.
J'espère que cela t'aides.
C'est seulement arrivé a moi. Pour que cela fonctionne, il vous suffit de vous débarrasser de 's
' dans 'https
' et de ne pas spécifier 'method = curl
'. Je viens juste de commencer alors je ne sais pas du tout comment ça marche, mais bon, ça fait le travail.
J'ai découvert que je devais télécharger curl à partir du site haxx puis ajouter son emplacement au chemin dans les variables d'environnement du système. Après cela le
download.file(fileURL, destfile = "data/cameras.csv", method = "curl")
la commande a bien fonctionné. C'était sur un ordinateur Windows 7, 64 bits.
J'ai essayé deux méthodes pour télécharger le même fichier:
Téléchargez le package "téléchargeur" à l'aide de install.packages("downloader")
, puis chargez-le à l'aide de la commande require(downloader)
. Après cela, utilisez la commande: download(fileurl,"./data/camera.csv",mode="wb")
L'autre méthode est:
fichier <- ' http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD ' read.csv (fichier)
et enregistrez le fichier data.frame
en utilisant la méthode write.csv
pour enregistrer le fichier.
Essayez de changer la ligne de "method = curl" en "method = internal"
Si vous souhaitez utiliser la méthode curl, vous devez installer la bibliothèque curl sur votre ordinateur à l’adresse http://curl.haxx.se/