R循环从FTP中提取CSV文件
我正在尝试循环浏览FTP站点上的所有CSV文件,并将具有特定文件名的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
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 }