【问题标题】:Error while turning nested json into dataframe将嵌套的 json 转换为数据框时出错
【发布时间】:2020-12-09 14:57:17
【问题描述】:

我有一列中有一个嵌套 json 的 dtaframe。我想将其中一个变成数据框。那个 json 在这里:df[1,]$json 并且看起来像这样:

{"case": "payment: fraud checking", "params": {}, "answer": {"assistant_check": false}}

我尝试这样做:

library(jsonlite)

df[1,]$json %>% 
  fromJSON() %>%
  as.data.frame()

但它给了我这个错误:

Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE,  : 
  arguments imply differing number of rows: 1, 0

为什么会这样?我猜是因为“参数”:{}。如何解决?为什么我没有从 dong 那里得到这个数据框:

       case                 params    answer.assistant_check
payment: fraud checking      NA            FALSE

【问题讨论】:

    标签: r json parsing flatten jsonlite


    【解决方案1】:

    如果您的 json-column 不包含任何数组数据,这将适用于您(但消除 params,如果它在所有行上都是空的)。

    library(dplyr)
    library(purrr)
    library(jsonlite)
    
    df$json %>%
        map_dfr(~unlist(jsonlite::fromJSON(.)))
    

    这对你有帮助吗?

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 2019-07-08
      • 1970-01-01
      • 2017-03-21
      • 2020-12-16
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      相关资源
      最近更新 更多