r JSON到CSV转换器。使用`jsonlite` R包,展平所有层次结构并将所有剩余的列表/数组转换为strin
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r JSON到CSV转换器。使用`jsonlite` R包,展平所有层次结构并将所有剩余的列表/数组转换为strin相关的知识,希望对你有一定的参考价值。
#!/usr/bin/Rscript
if (!require(jsonlite, quietly = TRUE, warn.conflicts = FALSE)) {
stop("This program requires the `jsonlite` package. Please install it by running `install.packages('jsonlite')` in R and then try again.")
}
args <- commandArgs(trailingOnly = TRUE)
if (length(args) == 0) {
input <- readLines(file("stdin"))
} else if (args[[1]] == "--help") {
write("Usage: json2csv <json input file> <csv output file> \nAlternatively, you can redirect inputs and outputs using pipes, stdin and stdout.",
stderr())
q()
} else {
input <- readLines(args[[1]])
}
df <- fromJSON(input, flatten = TRUE)
listcols <- colnames(df[lapply(colnames(df), function(x) class(df[,x])) == "list"])
for (col in listcols) df[col] = data.frame(unlist(lapply(df[,col], function(x) toString(unlist(x)))))
if (length(args) > 1) {
write.csv(df, args[[2]], row.names = FALSE)
} else {
write.csv(df, stdout(), row.names = FALSE)
}
以上是关于r JSON到CSV转换器。使用`jsonlite` R包,展平所有层次结构并将所有剩余的列表/数组转换为strin的主要内容,如果未能解决你的问题,请参考以下文章
无法取消嵌套 json 文件以在 r 中创建地图?
R列表/数据帧到JSON对象数组
R jsonlite 在加载前过滤记录
使用内联引号将 JSON 导入 R
R读取json数据
R - Instagram 主题标签抓取