r-根据不同的json文件获取单独的数据帧



我有三个.json文件,

bc1004.json
{"fl":1137379,"flnc":1134924,"flnc_polya":1134631}
bc1005.json
{"fl":1154374,"flnc":1151937,"flnc_polya":1151606}
bc1006.json
{"fl":765436,"flnc":760524,"flnc_polya":760304}

我想得到3个独立的数据帧对应于这3个文件,文件名对应于每个数据帧。目前,我可以得到一个数据列表。

filenames <- list.files("my_path/", pattern="*.json", full.names=TRUE)
myJSON <- lapply(filenames, function(x) rjson::fromJSON(file=x))
>myJSON
[[1]]
[[1]]$fl
[1] 1137379
[[1]]$flnc
[1] 1134924
[[1]]$flnc_polya
[1] 1134631

[[2]]
[[2]]$fl
[1] 1154374
[[2]]$flnc
[1] 1151937
[[2]]$flnc_polya
[1] 1151606

[[3]]
[[3]]$fl
[1] 765436
[[3]]$flnc
[1] 760524
[[3]]$flnc_polya
[1] 760304

尝试

myJSON_New <- lapply(myJSON, function(x) {cols <- names(x); x %>% 
unique %>% 
unlist %>% 
as.data.frame %>% 
tibble::rownames_to_column() %>% 
mutate(rowname = rowname, 
var1 = names(x))})
names(myJSON_New) <- filenames

具有输出

> myJSON_New
$`./bc1004.json`
rowname       .       var1
1       1 1137379         fl
2       2 1134924       flnc
3       3 1134631 flnc_polya
$`./bc1005.json`
rowname       .       var1
1       1 1154374         fl
2       2 1151937       flnc
3       3 1151606 flnc_polya
$`./bc1006.json`
rowname      .       var1
1       1 765436         fl
2       2 760524       flnc
3       3 760304 flnc_polya

最新更新