从互联网上读取数据
问题描述:
我在包含数据的网络服务器上有一个远程文件夹。 我访问使用数据:从互联网上读取数据
myData <-read.table("http://.../myData.csv", sep=',', header=T)
是否有密码保护的远程文件夹,并在上面的命令输入授权的方式?
Thx。
答
您可以使用RCurl包:
require("RCurl")
read.table(textConnection(getURL("http://.../data.csv",
userpwd = "user:pass")),
sep=",", header=TRUE)
答
一般来说,你可以嵌入用户名和密码的网址,例如:
+0
准确地说,并不是R只是试图连接到这个地址,它只是一个约定,如何执行HTTP/FTP/... auth,事实上它被许多程序使用,也是R.但是例如,由于安全原因,网络浏览器往往表现得很奇怪。 – mbq 2010-07-13 16:15:30
千恩万谢。完全有效。 – John 2010-07-17 00:25:08
如果你觉得这回答了这个问题,你可以点击答案接受它;) – rcs 2010-07-17 06:14:27
这也证明了比通过read.table()函数的vanilla url()更强大。我遇到了某些http服务器错误调用导致http连接挂起处于CLOSE_WAIT状态的问题。我猜测read.table()并没有正确地关闭连接,即使在try块中使用了stop()命令。 Rcurl等价物就像你在这里展示的那样,事实上确实关闭了连接,这很好。荣誉。 – 2014-01-16 23:45:21