0

我需要 sftp 获取一堆文件并解析它们并删除不需要的行并形成一个数据框。是否可以 sftp 从远程 ftp 服务器获取一堆文件并在 R 中处理这些 txt 文件?

这是我迄今为止尝试过的,但我收到身份验证错误:

library(RCurl) 
url="sftp://ftp.address.com/directory"
filenames = getURL(url, ftp.use.epsv = FALSE, ftplistonly = TRUE)
filenames = paste(url, strsplit(filenames, "\n")[[1]], sep = "")
con = getCurlHandle( ftp.use.epsv = FALSE)
sapply(filenames, getURL, curl = con)

我收到此错误:

函数错误(类型,msg,asError = TRUE):无法解析主机:sftp:; 没有请求类型的数据记录

好的,我已经这样做了,它有点工作。

getURL("sftp://site.com/filename.txt", userpwd="id:passed")

还没好呢。我需要将 getURL 的输出写入文件,以便我可以对文件执行 readLines 以解析不需要的行等。

4

1 回答 1

5
x<-getURL("sftp://site.com/filename.txt", userpwd="id:passed")
fileConn<-file("output.txt")
writeLines(x, fileConn)
close(fileConn)
y<-readLines("output.txt")

现在我可以解析出 y。这就是我想出的。让我知道可能有更好的方法来做到这一点?

于 2013-04-11T15:41:10.397 回答