r - 快速提取数据框中的 json 字段
问题描述
我有一个大数据框(250k 行),其中一列是 json 文本。json 很大,包含多个元素。我想解析那个json的一两个元素。我使用过jsonlite::fromJSON()
,但这似乎效率低下,因为我会解析整个文本以获得一个元素。微基准为每行提供 50 毫秒。对于这种方法。然后我找到了jqr
允许我访问一个元素的包,虽然速度很快(每行 2 毫秒),但我认为它可以更快(我可能错了。我编写了一个包装器以允许jqr::jq
在列中使用该函数,但它不会不会增加太多开销,但我仍然认为它很慢。我错误地认为这应该更快?
getJson = function(json, jsonTrajectory){
stopifnot(length(jsonTrajectory)==1)
.getJson1 = function(json, jsonTrajectory){
if(is.na(json)|json=="") return(NA)
return(jqr::jq(json, jsonTrajectory))
}
jsonParsedVector = json %>% purrr::map(.f = ~.getJson1(.x, jsonTrajectory))
return(jsonParsedVector)
}
解决方案
推荐阅读
- java - 如何在应用程序中禁用 Android 系统键盘
- flutter - Flutter 为每种按钮类型指定 Button Theme
- javascript - 如何从系统上传和覆盖animation.html文件并以HTML或ANGULAR覆盖视频
- vb.net - 组合框VB.Net的双向数据绑定
- java - 使用 Apache HTTP 客户端和 Spring REST 发送 HTTP PUT 请求时出现问题
- c# - Sytem.Net.Http.HttpClient 在 .net 核心和 .net 框架中的行为不同
- mongodb - MongoDB 上的“部分启用身份验证”是什么意思?
- azure - Azure APIM 中的响应映射
- python - 如何获取删除元素的列表?
- python - 即使更改小部件后,Django Clear Field 也不会消失