我有一个wget_string,命令如下:
wget_string <- paste("wget --user=" , u_name , " --password=", p_word, " ", my_urls,' -qO ', file_name, sep="")
system(wget_string)
readLines(file_name)
哪个有效,但后来我必须使用readLines()将文件读入R.我想运行该命令,以便该文件直接在R中可用,而不保存到硬盘然后从中加载。
我希望通过将文件从Web直接加载到R来节省资源。由于安全服务器,无法从头开始使用readlines。有什么选择?
答案 0 :(得分:14)
intern=TRUE
函数具有的system
参数。从命令中捕获输出。使用force和wget
的正确选项打印到stdout:
> wget_string="wget -qO- http://www.google.com"
> s = system(wget_string,intern=TRUE)
如果您返回的数据是CSV文件,可以使用textConnection
,请将其提供给read.csv
。
答案 1 :(得分:5)
如果您使用-O -
的{{1}}选项,则将输出设置为wget
(直接在屏幕上书写)。通过这种方式,您可以直接从wget命令的输出中读取。
E.g。
standar output
将下载网页并将其直接打印到 wget -O - http: //www.address.com
。因此,您可以直接读取standard output
的输出。
来自system(wget_string)
手册页:
-O文件 --output文档=文件 文档不会写入相应的文件,但所有文件将连接在一起并写入文件。 如果 - 用作文件,文档将打印到标准输出,禁用链接转换。 (使用 ./-打印到字面上命名的文件 - 。)