【问题标题】:Import some json data导入一些json数据
【发布时间】:2015-09-29 08:47:01
【问题描述】:

我想在 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....... 上周我不知道为什么,但这条线有效,但我有一张很奇怪的桌子,而且是错误的。

你能帮帮我吗?

【问题讨论】:

  • 请在您的问题中包含sessionInfo() 的输出(或至少包含您的操作系统,以及您正在使用的 curl 和 jsonlite 软件包的版本)。

标签: json r import jsonlite


【解决方案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"))

【讨论】:

  • 我的 .txt 文件在我的电脑上,而不是“APPL.txt”,请问我要写什么?我尝试在我的计算机上放置文件:“C:\\....\\file.txt”但它不起作用
  • 您确定路径吗?你的文件叫什么名字?试试上面的代码。
  • 是的,我确定路径。它是“test1.txt”,它不是来自 URL 的数据,它是我计算机上的一个文件,来自我之前为从 api 获取一些推文而进行的测试。
  • json.text
  • 可能是json本身的畸形。 download.file(url = "https://api.stocktwits.com/api/2/streams/symbol/AAPL.json", destfile = "AAPL.txt") 没问题。
【解决方案2】:

试试这个

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

【讨论】:

  • df=stream_in(curl(AAPLapi)) 打开 curl 输入连接。找到 1 行...将页面绑定在一起(没有自定义处理程序)。关闭 curl 输入连接。警告消息:在 readLines(con, n = pagesize, encoding = "UTF-8") 中:在 'api.stocktwits.com/api/2/streams/symbol/AAPL.json' 上找到不完整的最后一行
  • 查看df查看数据
  • 是的,谢谢,我用 View(df$messages) 找到了我的数据,非常感谢
猜你喜欢
  • 1970-01-01
  • 2013-06-01
  • 2017-05-05
  • 2016-04-22
  • 1970-01-01
  • 2011-03-15
  • 2017-05-25
  • 2018-03-15
相关资源
最近更新 更多