【问题标题】:Flatten JSON list into data frame将 JSON 列表展平为数据框
【发布时间】:2018-12-11 01:59:43
【问题描述】:

我有一个包含 143 个 JSON 文件 (~30 MB) 的目录,我想将其合并并转换为平面数据框。 (这可能与this question 有关,但我无法让该解决方案发挥作用。结果见底部。)

我能够很好地解析单个元素,所以我认为我的绊脚石被下面的 reprex 捕获:

chr <- "[{\"sometext_lets_pretend_its_JSON\":999}]"
my_list <- list(chr, chr, chr, chr, chr, chr)
library(purrr)
my_list %>% 
    map(~ fromJSON(.x))

#[[1]]
#  sometext_lets_pretend_its_JSON
#1                            999
#
#[[2]]
#  sometext_lets_pretend_its_JSON
#1                            999
#
#[[3]]
#  sometext_lets_pretend_its_JSON
#1                            999
#
#[[4]]
#  sometext_lets_pretend_its_JSON
#1                            999
#
#[[5]]
#  sometext_lets_pretend_its_JSON
#1                            999
#
#[[6]]
#  sometext_lets_pretend_its_JSON
#1                            999

我正在尝试获取一个显示源文件中所有行的数据框,但扁平化版本仅显示第一个元素。我在这里做错了什么?

my_list %>% 
    map(~ fromJSON(.x)) %>%
    flatten_dfr()
## A tibble: 1 x 1
#  sometext_lets_pretend_its_JSON
#                           <int>
#1                            999

【问题讨论】:

    标签: r purrr jsonlite


    【解决方案1】:

    你是这个意思吗?

    my_list %>%
        map(~ fromJSON(.x)) %>%
        bind_rows()
    #  sometext_lets_pretend_its_JSON
    #1                            999
    #2                            999
    #3                            999
    #4                            999
    #5                            999
    #6                            999
    

    【讨论】:

      猜你喜欢
      • 2018-11-09
      • 2014-10-15
      • 2020-09-27
      • 2019-01-10
      • 2021-02-17
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多