如何将csv转换为json,第一列作为关键,第二列作为使用jsonlite或其他包的值?
:
[ { "full": "CA-A CANCER JOURNAL FOR CLINICIANS", "abb": "CA-CANCER J CLIN" }, { "full": "NATURE REVIEWS MOLECULAR CELL BIOLOGY", "abb": "NAT REV MOL CELL BIO" }
:
[ { "CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN", }, { "NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO" } ]
兆瓦:
abb <- structure(list(full = c("CA-A CANCER JOURNAL FOR CLINICIANS", "NATURE REVIEWS MOLECULAR CELL BIOLOGY"), abb = c("CA-CANCER J CLIN", "NAT REV MOL CELL BIO")), row.names = c(NA, -2L), class = c("tbl_df", "tbl", "data.frame"))
abb|>
jsonlite::toJSON(pretty=TRUE)
谢谢你的建议!
如果有其他包可用,也可以。
toJSON(setNames(as.list(abb$abb), abb$full), pretty = T)
{
"CA-A CANCER JOURNAL FOR CLINICIANS": ["CA-CANCER J CLIN"],
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": ["NAT REV MOL CELL BIO"]
}
或使用您在期望结果中显示的未装箱版本:
toJSON(setNames(as.list(abb$abb), abb$full), pretty = T, auto_unbox = T)
{
"CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN",
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO"
}
,如果你真的想要输出外框,把它包装在一个列表中,像这样:
toJSON(list(setNames(as.list(abb$abb), abb$full)), pretty = T, auto_unbox = T)
[
{
"CA-A CANCER JOURNAL FOR CLINICIANS": "CA-CANCER J CLIN",
"NATURE REVIEWS MOLECULAR CELL BIOLOGY": "NAT REV MOL CELL BIO"
}
]