【问题标题】:Is there a way other than below to load a json.rows file into RStudio?除了下面的方法之外,还有其他方法可以将 json.rows 文件加载到 RStudio 中吗?
【发布时间】:2017-09-04 07:07:41
【问题描述】:

我有一个 json.rows 文件 -> instances.json.rows 大约有 223k 行

我尝试使用 jsonlite 并想出了

instancesfile <- fromJSON("instances.json.rows")

但我一直收到错误

Error in parse_con(txt, bigint_as_char) : parse error: trailing garbage
      kcBy-cs", "time_type": "in"} {"cluster_ids": ["Bz4SOc6zZn0"]
                 (right here) ------^

这是我文件第一行数据的图像。抱歉,如果我的问题不够清楚。在 cmets 中让我知道,我将根据需要编辑我的问题。提前谢谢!

【问题讨论】:

  • 我认为您需要用 替换换行符,并将整个文件包装在一对 {}... 我猜您正在使用的文件实际上是一堆 json 语句,由换行符,而不是单一的统一语句。
  • 嗨,是的。文件的每一行都是描述单个事件或实体的单个 JSON 文档。我是使用 json 文件的新手。您能否详细回答我如何将其加载到 Rstudio 中?或者,如果您没有时间,请指点我可以阅读的材料?

标签: json r data-import


【解决方案1】:
out <- lapply(readLines("instances.json.rows"), fromJSON)

恭喜你是你想要的。 L apply 将 fromJSON 函数应用于从 readLines 返回的每个成员,并将结果返回到 out。我在评论中有点想念 Spoke,为了使您的文件有效 json,您必须用逗号替换换行符,然后将结果放在下面示例中 * 所在的位置。不过这都是废话,就用上面那条线就好了。

{"data":[*]}

【讨论】:

  • 这绝对有效,并帮助我将 json 文件读入我的工作室。但我现在有一个很长的清单,我无法分析。关于如何继续进行的任何提示?您介意我给您发送一封包含列表截图的电子邮件吗?谢谢!
  • 如果你将你的长列表投射到一个数据框中,你能完成它吗? stackoverflow.com/questions/4227223/r-list-to-data-frame
【解决方案2】:
library(jsonlite)
instancesfile <- stream_in(file("instances.json.rows"))

优点:

  • 自动格式化为数据框
  • 提供详细的进度报告(除非您更改默认设置)
  • 让我们调整页面大小

【讨论】:

  • 效果不错!谢谢@Jeff Parker
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 2018-03-01
  • 2015-12-08
  • 2019-09-14
  • 2017-07-18
  • 1970-01-01
  • 2012-05-23
相关资源
最近更新 更多