Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中生成从动态url下载csv文件的函数_R_Loops_Csv - Fatal编程技术网

如何在R中生成从动态url下载csv文件的函数

如何在R中生成从动态url下载csv文件的函数,r,loops,csv,R,Loops,Csv,我正在生成一个函数,从“点击并下载”网页下载一堆CSV数据库。它工作得很好: mydownloadBCA <- function(start_date, end_date) { start_date <- as.Date(start_date) end_date <- as.Date(end_date) dates <- as.Date("1970-01-01") + (start_date : end_date) for(i in 1:length(da

我正在生成一个函数,从“点击并下载”网页下载一堆CSV数据库。它工作得很好:

mydownloadBCA <- function(start_date, end_date) {
  start_date <- as.Date(start_date)
  end_date <- as.Date(end_date)
  dates <- as.Date("1970-01-01") + (start_date : end_date)
  for(i in 1:length(dates)){
    string_date <- as.character(dates[i])
    myfile <- paste0("./BCA/BCA", string_date, ".csv")
    myurl <- paste("https://www.cenace.gob.mx/DocsMEM/OpeMdo/CantidAsig/MDA/ImportacionExportacion/Resultados_ImpExp%20BCA%20MDA%20Dia%20", string_date, "%20v2017%2003%2022_09%2033%2019.csv", sep = "")
    download.file(url = myurl, destfile = myfile, quiet = TRUE)
  }
  }

mydownloadBCA只是一个小提示:我想你的意思是
CSV
(逗号分隔的值)而不是
CVS
。如果你能分离出URL的相关部分,并解释你对模式的理解,当模式一致时(2017-03-30之前?),然后举例说明模式在2017-03-30之后是如何变化的,这会有很大帮助。另外,如果有一个页面包含指向所有文件的链接,那会很有帮助。对不起,Gregor,我已经编辑过了,因为它应该是“CSV”,这个页面就是这个。选择要下载的年份后,csv文件将从2016年1月29日至2016年9月30日出现。实际上,这些csv文件会发生变化,因为最初的几个月是在同一天作为“块”上传的,之后每天都会上传
<<url>> = https://www.cenace.gob.mx/DocsMEM/OpeMdo/CantidAsig/MDA/ImportacionExportacion/Resultados_ImpExp%20BCA%20MDA

2017-03-30  <<url>>%20Dia%202017-03-30%20v2017%2003%2029_13%2029%2051.csv
2017-04-01  <<url>>%20Dia%202017-04-01%20v2017%2003%2031_13%2044%2042.csv
2017-04-02  <<url>>%20Dia%202017-04-02%20v2017%2004%2001_12%2057%2041.csv
##  Problems here                                   ^^^^^^^^^^^^^^^^^^^^^^
mydownloadSIN <- function(start_date, end_date) {
  start_date <- as.Date(start_date)
  end_date <- as.Date(end_date)
  dates <- as.Date("1970-01-01") + (start_date : end_date)
  f <- factor(0:9)
  number <- as.numeric(f)
  for(i in 1:length(dates)){
    for(j in 0:length(number)){
    string_date <- as.character(dates[i])
    X <- as.character(number[j])
    myfile <- paste0("./SIN/SIN", string_date, ".csv")
    myurl <- paste("https://www.cenace.gob.mx/DocsMEM/OpeMdo/CantidAsig/MDA/ImportacionExportacion/Resultados_ImpExp%20SIN%20MDA%20Dia%20",string_date,"%20v2017%",X,X,X,X,"%",X,X,X,X,"_",X,X,"%",X,X,X,X,"%",X,X,X,X,".csv", sep = "")
    download.file(url = myurl, destfile = myfile, quiet = TRUE)
    }
  }
  }