使用RCurl的scp功能时无法打开连接/文件

时间:2016-12-07 22:58:42

标签: r scp rcurl

我试图将文件从远程服务器拉入我的R会话。

以下是我使用的代码:

library(RCurl)
x = "/mypath/thefile.txt"


y = read.fwf(scp(host = 'myhost.place', path = x, 
          user= "myusername", password = "mypass", binary = FALSE), 
          widths = c(-1, 9, -42, 4), colClasses = c("character", "character"),
          col.names = c("Var1", "Var2"))

以下是我收到的错误消息:

文件错误(文件," rt"):无法打开连接 另外:警告信息: 在文件(文件," rt")中: 无法打开文件' 然后是一堆看似属于我试图阅读的文件的数字。

我已成功使用类似方法从同一服务器读取。例如,此代码可以正常工作:

a = "/myotherpath/someSASfile.sas7bdat"

b = read_sas(scp(host = 'myhost.place', path = a, 
          user= "myusername", password = "mypass", binary = TRUE))

有没有人对第二组代码的工作原理有任何想法,但第一组代码没有?

1 个答案:

答案 0 :(得分:0)

感谢您的评论。他们帮我找到了解决方案:readr的read_fwf功能。 这是CRAN阅读器的链接pdf: https://cran.r-project.org/web/packages/readr/readr.pdf

read_fwf函数与read.fwf的工作方式类似,但它在读取大数据时效果更好,交换这些函数让我成功读取了文件。

h = scp(host = 'myhost.place', path = x, 
    user= "myusername", password = "mypass", binary = FALSE)

i = read_fwf(h, fwf_positions(c(2, 53), c(11, 56), c("Var1", "Var2")))