快速JSON到data.frame/data.table

快速JSON到data.frame/data.table,json,r,dataframe,Json,R,Dataframe,我用这个R代码将JSON数据转换成data.frame。它工作正常,但对于大型JSON文件来说速度相当慢。更有效的方法是什么(不介意使用data.table输出) json_datadata2尝试以下方法: library(jsonlite) json_data <- read_json("data.json", simplifyVector = TRUE) library(jsonlite) json_data如果您正在寻找快速json解析,请查看 库(RcppSimdJson) js

我用这个
R
代码将
JSON
数据转换成
data.frame
。它工作正常,但对于大型JSON文件来说速度相当慢。更有效的方法是什么(不介意使用
data.table
输出)

json_data
data2尝试以下方法:

library(jsonlite)
json_data <- read_json("data.json", simplifyVector = TRUE)
library(jsonlite)

json_data如果您正在寻找快速json解析,请查看

库(RcppSimdJson)
jsonfile$Image:6个文件的列表
#>..$Width:int 800
#>..$Height:int 600
#>..$Title:chr“从15楼看”
#>..$Thumbnail:3个列表
#>   .. ..$ 网址:chr“http://www.example.com/image/481989943"
#>   .. ..$ 高度:int 125
#>   .. ..$ 宽度:整数100
#>..$Animated:logi FALSE
#>..$IDs:int[1:4]116 943 234 38793
由(v0.3.0)于2020-08-05创建

使用包中的基准测试代码,我们可以比较不同的解析方法:

文件表达式最小中位数`itr/sec`mem_alloc`gc/sec`
#>                 
#>1 RcppSimdJson 1.51ms 1.67ms 582。5.82MB 5.98
#>2 jsonlite 44.68ms 48.95ms 18.82.74MB 22.6
#>3 jsonify 9.76ms 11.34ms 87.5 1.12MB 43.7
#>4 RJSONIO 33.11ms 35.17ms 28.6 2.93MB 3.82
#>5 ndjson 136.35ms 138.67ms 7.21 9.41MB 30.6
由(v0.3.0)于2020-08-05创建


我们看到RcppSimdJson是目前为止最快的。

可能是
rbindlist
来自
data.table
?如果列名不相同,您可以使用
fill=TRUE
。我不认为您需要遍历每一段
json\u数据。例如,我非常肯定
jsonlite
包将一次性处理整个结构,只需稍加努力。你能提供一个你正在使用的一些json数据的简单例子吗?实际上,有一个json数据的代表性示例会很有帮助。不确定一个cld如何在没有it的情况下获得帮助。
data2 <- fromJSON("data.json", flatten = TRUE)
library(jsonlite)
json_data <- read_json("data.json", simplifyVector = TRUE)