从GitHub为R读取一个CSV(Read a CSV from github into R)

2019-07-18 11:53发布

我想读从GitHub一个CSV为R:

latent.growth.data <- read.csv("https://github.com/aronlindberg/latent_growth_classes/blob/master/LGC_data.csv")

然而,这给了我:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") : unsupported URL scheme

我试过?read.csv?download.filegetURL (只返回奇怪的HTML),以及在数据导入手册 ,但仍然无法知道如何使它发挥作用。

我究竟做错了什么?

Answer 1:

试试这个:

library(RCurl)
x <- getURL("https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv")
y <- read.csv(text = x)

你有两个问题:

  1. 你不是链接到“原始”的文件,但GitHub的优化版本显示(访问HTTPS的URL:\ raw.github.com .... CSV看到的区别原始版本和显示的版本 )。
  2. HTTPS是在许多情况下为r的问题,所以你需要使用包像RCurl绕过它。 在某些情况下(不与Github上,虽然)你可以简单地取代HTTP和HTTPS的事情工作了,所以你总是可以尝试先出来,但我觉得用RCurl可靠并没有太多额外的输入。


Answer 2:

从文件url

需要注意的是的“https://”连接不支持(在Windows上一些例外)。

所以问题是,R不容许conncetions到https URL的。

您可以使用download.filecurl

download.file("https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv", 
    destfile = "/tmp/test.csv", method = "curl")


Answer 3:

我,使用R 3.0.2和这个代码的工作。

urlfile<-'https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv'
dsin<-read.csv(urlfile)

这也

urlfile<-'https://raw.github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv'
dsin<-read.csv(url(urlfile))

编辑(sessionInfo)

R version 3.0.2 (2013-09-25)
Platform: i386-w64-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=Polish_Poland.1250  LC_CTYPE=Polish_Poland.1250   
[3] LC_MONETARY=Polish_Poland.1250 LC_NUMERIC=C                  
[5] LC_TIME=Polish_Poland.1250    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.0.2


Answer 4:

在类似的风格艾哈迈德,我想我会更新的答案,因为现在你可以使用哈德利的readr包。 只是有一点要注意:你需要的网址是原始内容(见//raw.git...下面)。 下面是一个例子:

library(readr)
data <- read_csv("https://raw.githubusercontent.com/RobertMyles/Bayesian-Ideal-Point-IRT-Models/master/Senate_Example.csv")

有!



Answer 5:

认识到这个问题已经很老了,谷歌还报告说,它作为一个顶级的结果(至少对我来说),所以我决定为2015年的答案。

人们现在通常迁移到curl包(包括著名httr如所描述的) 由R-博客它具有以下非常简单的解决方案:

library(curl)

x <- read.csv( curl("https://raw.githubusercontent.com/trinker/dummy/master/data/gcircles.csv") )


Answer 6:

这就是我一直在帮助开发 。 这基本上是一个通用的数据导入/导出包,支持HTTPS / SSL,并从其延伸推断文件类型,从而使您可以读取使用一个导入功能基本上什么:

library("rio")

如果你抢你的CSV从GitHub“原始”的网址,就可以加载它与一条线import

import("https://raw.githubusercontent.com/aronlindberg/latent_growth_classes/master/LGC_data.csv")

其结果是一个data.frame:

     top100_repository_name   month monthly_increase monthly_begin_at monthly_end_with
1                    Bukkit 2012-03                9              431              440
2                    Bukkit 2012-04               19              438              457
3                    Bukkit 2012-05               19              455              474
4                    Bukkit 2012-06               18              475              493
5                    Bukkit 2012-07               15              492              507
6                    Bukkit 2012-08               50              506              556
...


Answer 7:

卷曲可能无法在窗口至少对我的工作

这是我在Windows什么工作

download.file( “ https://github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv ”,destfile = “/tmp/test.csv",method="wininet”)

在Linux中

download.file( “ https://github.com/aronlindberg/latent_growth_classes/master/LGC_data.csv ”,destfile = “/tmp/test.csv",method="curl”)



Answer 8:

一个颇为虚拟方式...使用剪贴板复制/粘贴

x <- read.table(file = "clipboard", sep = "t", header=TRUE)


文章来源: Read a CSV from github into R