2015-07-10 59 views
2

我想导入j中的数据R. 我知道一些讨论已经发布了关于这个主题,但不幸的是我没有我想要的这些代码的结果或他们有很多与我的错误文件。导入一些json数据

我想导入此: https://api.stocktwits.com/api/2/streams/symbol/AAPL.json 在R.

我想这样做:

AAPLapi <- 'https://api.stocktwits.com/api/2/streams/symbol/AAPL.json' 

AAPLapi <- fromJSON(AAPLapi) 

AAPLapi <- lapply(AAPLapi, function(x) { 
    x[sapply(x, is.null)] <- NA 
    unlist(x) 
}) 

table=do.call("rbind", AAPLapi) 
View(table) 

但它具有行table=do.call错误....... 上周我不知道为什么,但是这条线是有效的,但我有一张很奇怪的表,那是错的。

请问您能帮我吗?

+0

请注明输出'sessionInfo()'在你的问题中(或者至少包括你的操作系统,以及c的版本你正在使用的url和jsonlite包)。 – Thomas

回答

1

尝试包jsonlite也许它会帮助你:

library("jsonlite") 
your_json <- stream_in(url("https://api.stocktwits.com/api/2/streams/symbol/AAPL.json")) 
str(your_json, max.level = 2) 
View(your_json$messages) 

如果你的JSON是一个.txt文件,你可以这样做:

download.file(url = "https://api.stocktwits.com/api/2/streams/symbol/AAPL.json", destfile = "AAPL.txt") 
your_json <- stream_in(file("AAPL.txt")) 
+0

非常感谢你的工作! –

+0

非常感谢您使用.txt文件中的json! –

+0

不客气! – Victorp

0

试试这个

library(curl) 
library(jsonlite) 
AAPLapi <- 'https://api.stocktwits.com/api/2/streams/symbol/AAPL.json' 
df=stream_in(curl(AAPLapi)) 
+0

谢谢,我在执行此操作时出错: –

+0

df = stream_in(curl(AAPLapi)) 开启卷曲输入连接 1行... 将页面绑定在一起(无自定义处理程序)。 关闭卷曲输入连接。 警告消息: 在readLines(con,n = pagesize,encoding =“UTF-8”)中: 在https://api.stocktwits.com/api/2/streams/symbol/AAPL上找到的不完整最终行。 json' –

+0

我确实收到了一条警告消息,但这不是一条错误消息。 –