从网址中读取表格并将其保存为数据框

时间:2017-11-10 07:18:43

标签: r url dataframe read.table

我的函数read.table有问题。我想从URL中读取一个表,并将其作为数据帧保存在R中。网址是: https://datanalytics.com/uploads/datos_treemap.txt

我写了这段代码:

library(RCurl)

a <- getURL('https://datanalytics.com/uploads/datos_treemap.txt')
b = read.table(a, sep="\t ", header = TRUE, nrows=3)

download.file("https://datanalytics.com/uploads/datos_treemap.txt","/mnt/M/Ana/R/datos_treemap.txt",method = c("wget"))

但是我无法将数据保存为数据帧,并导致以下错误:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") : cannot open file...
No such file or directory

我还尝试将文档下载为txt,并将其保存在mi PC中。但是生成txt导致向量而不是表(所有结果都在一个单行中)。我写的代码是:

download.file("https://datanalytics.com/uploads/datos_treemap.txt","/mnt/M/Ana/R/datos_treemap.txt",method = c("wget"))

有谁知道我做错了什么?提前谢谢。

2 个答案:

答案 0 :(得分:1)

我们试试这个

library(RCurl)
a <- getURL('https://datanalytics.com/uploads/datos_treemap.txt')
b <- read.table(text=a, header = TRUE)


希望这有帮助!

答案 1 :(得分:1)

这是使用rvest代替RCurl的另一种解决方案。我不想判断哪个包是&#34;更好&#34;,只是想显示一个额外的选项,虽然,在你的简单情况下rvest似乎更冗长,你需要SelectorGadget来识别所需的节点(如果我错了,请任何人纠正我,并且可以缩短代码。)

library(rvest)

table <- read_html("https://datanalytics.com/uploads/datos_treemap.txt") %>% 
         html_text("p") %>% 
         { read.table(text = ., header = T) }