You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用R将指定DataFrame转换为目标层级JSON格式

解决R语言DataFrame转指定JSON格式的问题

可以通过dplyr完成数据分组嵌套处理,再用jsonlite转换为目标JSON格式,具体实现如下:

步骤1:安装并加载所需包

如果尚未安装依赖包,先执行安装命令:

install.packages(c("dplyr", "jsonlite"))

加载包:

library(dplyr)
library(jsonlite)

步骤2:数据转换与JSON生成

# 生成示例DataFrame
df <- data.frame(month = c(1, 1, 1, 2, 2, 2),
                 station = c('AE', 'DC', 'CL', 'AE', 'DC', 'CL'),
                 persons = c(3, 12, 21, 12, 10, 9),
                 results = c(10, 34, 57, 19, 16, 5)
)

# 处理数据:删除station列,按month分组生成嵌套的summary
processed_data <- df %>%
  select(-station) %>%
  group_by(month) %>%
  summarise(
    summary = list(tibble(persons = persons, results = results)),
    .groups = "drop"
  ) %>%
  mutate(month = as.character(month))  # 将month转为字符类型,匹配目标JSON格式

# 转换为格式化后的JSON
output_json <- toJSON(processed_data, pretty = TRUE, auto_unbox = TRUE)

# 打印结果
cat(output_json)

代码说明

  • select(-station):删除不需要的station列
  • group_by(month):按month字段分组
  • summarise(...):将每组的persons和results封装为tibble并放入summary列表,形成嵌套层级
  • mutate(month = as.character(month)):将month从数值型转为字符型,与目标JSON中的格式一致
  • toJSON(...):pretty=TRUE生成带缩进的格式化JSON,auto_unbox=TRUE确保month字段不会被包裹为数组

执行后输出的JSON结构将与你提供的目标格式完全一致。

内容的提问来源于stack exchange,提问作者kvcha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:19:47