假设我有mtcar数据集,我想取三个列并将它们转换为一个JSON数组。如何将其转换为json数组,这是否可能将它们传递到POSTGRESQL数据库?
library(jsonlite)
df <- mtcars
attach(mtcars)
json.column <- cbind(mpg,cyl,disp) 我使用toJSON()吗?
mtcars.json <- toJSON(json.column)https://cran.r-project.org/web/packages/jsonlite/vignettes/json-aaquickstart.html
对象数组{"name":"Erik","age":43},{"name":"Anna","age":32} Data Frame simplifyDataFrame
发布于 2017-05-01 18:18:29
将数据保持为data.frame,而不是矩阵。使用
json.column <- data.frame(mpg,cyl,disp)
toJSON(json.column)
# [{"mpg":21,"cyl":6,"disp":160},{"mpg":21,"cyl":6,"disp":160}, ...此外,您应该避免使用attach()。如果您忘记了detach(),它可能会造成许多问题。另外,您可以经常使用with()来避免它。
json.column <- with(mtcars, data.frame(mpg,cyl,disp))发布于 2017-05-01 18:29:17
(首先,千万不要使用attach!太危险了!(通常使用with。)
有很多方法可以做到这一点。下面是如何使用dplyr创建值:
qq <- rowwise(mtcars) %>%
mutate(newcol=as.character(jsonlite::toJSON(list(mpg=mpg, cyl=cyl, disp=disp))))
> qq$newcol
[1] "{\"mpg\":[21],\"cyl\":[6],\"disp\":[160]}" "{\"mpg\":[21],\"cyl\":[6],\"disp\":[160]}"
[3] "{\"mpg\":[22.8],\"cyl\":[4],\"disp\":[108]}" "{\"mpg\":[21.4],\"cyl\":[6],\"disp\":[258]}"
...从这里开始,如果您的Postgres数据库是以newcol作为JSON类型设置的,我认为只需要像往常一样编写该表就可以了。
https://stackoverflow.com/questions/43722758
复制相似问题