json to dataframe

  • 本文关键字:dataframe to json r
  • 更新时间 :
  • 英文 :


我有一个看起来像这样的data.json文件:

{
  "A" : {
    "data" : "a1 aa2 aaa3na4 aa5 aaa6na7 aa8 aaa9"
  },
  "B" : {
    "data" : "b1 bb2 bbb3nb4 bb5 bbb6nb7 bb8 bbb9"
  },
  "C" : {
    "data" : "c1 cc2 ccc3nc4 cc5 ccc6nc7 cc8 ccc9"
  }
}

我想将其转换为数据帧列表(称为output),每个大写字母的一个data.frame。字符串"n"区分数据框中的行。每个数据框架应该看起来像这样:

> print(output[[1]])
   X1   X2    X3
1  a1  aa2  aaa3
2  a4  aa5  aaa6
3  a7  aa8  aaa9
> print(output[[2]])
   X1   X2    X3
1  b1  bb2  bbb3
2  b4  bb5  bbb6
3  b7  bb8  bbb9
#and so on...

只需使用 rjson/jsonlite 库加载JSON文件作为列表,然后使用read.table函数读取每个字符串作为数据框架:

lapply(rjson::fromJSON(file = "data.json"), function(x) read.table(text = x$data))
#$A
#  V1  V2   V3
#1 a1 aa2 aaa3
#2 a4 aa5 aaa6
#3 a7 aa8 aaa9
#$B
#  V1  V2   V3
#1 b1 bb2 bbb3
#2 b4 bb5 bbb6
#3 b7 bb8 bbb9
#$C
#  V1  V2   V3
#1 c1 cc2 ccc3
#2 c4 cc5 ccc6
#3 c7 cc8 ccc9

最新更新