当前位置:   article > 正文

使用R获取文件_download.file(destfile)

download.file(destfile)

使用download.file()

对应课程:Coursera Getting & Cleaning Data Week1 Downloading Files

  • download.file()是R中一条通用下载命令,
download.file(url, destfile, method, quiet = FALSE, mode = "w",
              cacheOK = TRUE,
              extra = getOption("download.file.extra"))
  • 1
  • 2
  • 3
  • 其参数含义如下:

    • url:被下载文件域名,字符串型;
    • destfile:文件存放地址,字符串型,需要后缀名,如“x.csv”;
    • method:下载方法,包括”internal”, “wininet”, “libcurl”, “‘wget”, “curl”等,另外还有一个特殊也是默认方法是”auto”,当method=”auto”时,在Windows上会首先调用”libcurl”方法,如果是ftps://类型的域名,会另外调用”wininet”方法;
    • quiet:为真时不接收状态信息,逻辑值;
    • mode:写入文件时的模式,当method为”internal”时可用,可选值为”w”, “wb(binary)”, “a(append)”, “ab”.
    • cacheOK:标志着是否接收服务器端的Chache,逻辑值;
    • extra:当method为”wget”或”curl”时可用, 可填写附加的指令或参数。
  • 遇到的问题
    在使用Download.file,具体代码为:

    fileUrl<-"http://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD"
    download.file(fileUrl,destfile = "./data/cameras.csv", method="crul")
    list.files("./data")
    • 1
    • 2
    • 3

    报错:

    Error in download.file(fileUrl, destfile = "./data/cameras.csv") : 
    cannot open destfile './data/cameras.csv', reason 'No such file or directory'
    • 1
    • 2
  • 解决方法:

    1. 其实真正的问题是,该指令不会主动创建文件夹,所以在路径里新建文件夹就好,具体方法为插入代码dir.create("data"),下面两个方法是查到的,不对应本次问题。
    2. method”crul”改为”libcrul”,其实之前用默认(“auto”)是可以的,推测是win10更新的问题。(ranhou)
    3. stackoverflow上替代方案
    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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/333496
推荐阅读
相关标签
  

闽ICP备14008679号