R循环从FTP中提取CSV文件

R循环从FTP中提取CSV文件,r,loops,ftp,R,Loops,Ftp,我正在尝试循环浏览FTP站点上的所有CSV文件,并将具有特定文件名的CSV内容上载到数据库。 到目前为止,我已经能够 使用…访问FTP getURL((url,userpwd=userpwd,ftp.use.epsv=FALSE,dirlistonly=TRUE) 使用…获取文件名列表 unlist(strsplit(文件名“\r\n”) 并创建一个包含完整URL列表的数据框架(例如),使用 for(我的文件){ UrListList[i,] 因为返回的直接HTTP响应是CSV的内容,考虑扩展

我正在尝试循环浏览FTP站点上的所有CSV文件,并将具有特定文件名的CSV内容上载到数据库。
到目前为止,我已经能够

  • 使用…访问FTP

    getURL((url,userpwd=userpwd,ftp.use.epsv=FALSE,dirlistonly=TRUE)

  • 使用…获取文件名列表

    unlist(strsplit(文件名“\r\n”)

  • 并创建一个包含完整URL列表的数据框架(例如),使用

    for(我的文件){
    UrListList[i,] 因为返回的直接HTTP响应是CSV的内容,考虑扩展您的<代码> LePix< /Cult>函数调用,使用文本参数传递结果到<代码> Read .CSV < /代码>:

    # VECTOR OF URLs
    urls <- paste0(url, myfiles[grep("Type1", myfiles])
    
    # LIST OF DATA FRAMES FROM EACH CSV
    mydata <- lapply(urls, function(url) {
         resp <- getURL(url, userpwd = userpwd, connecttimeout = 60)
         read.csv(text = resp)
    })
    

    由于返回的直接HTTP响应是CSV的内容,请考虑扩展您的<代码> LePix< /Cult>函数调用,使用文本参数将结果传递到<代码> Read .CSV < /代码>:

    # VECTOR OF URLs
    urls <- paste0(url, myfiles[grep("Type1", myfiles])
    
    # LIST OF DATA FRAMES FROM EACH CSV
    mydata <- lapply(urls, function(url) {
         resp <- getURL(url, userpwd = userpwd, connecttimeout = 60)
         read.csv(text = resp)
    })
    

    只是一个关于我是如何完成这件事的更新,以及最后对我有用的东西

    mydata <- lapply(urls, getURL, userpwd = userpwd, connecttimeout = 60)
    

    mydata只是关于我是如何完成这件事的更新,以及最后对我有用的东西

    mydata <- lapply(urls, getURL, userpwd = userpwd, connecttimeout = 60)
    

    mydata文件名有什么变化?数字?顺便说一句,你不需要一个循环或数据框:
    url我实际上想出了如何使用grepl
    myfiles过滤文件名的方法有什么想法吗?差不多了!文件名有什么变化?数字?顺便说一句,你不需要一个循环或数据框:
    url我实际上想出了如何过滤文件名的方法使用grepl
    myfiles过滤文件名有什么想法吗?差不多了!
    
    while (i <= length(mydata)) {
    
    mydata1 <- paste0(mydata[[i]])
    
    bin <- read.csv(text = mydata1, header = FALSE, skip = 1)
    
    #Column renaming and formatting here
    #Uploading to database using RODBC here
    }