我有三个.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