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

使用rjson读取JSON文件时,35列40行数据变为单行的问题排查

解决rjson读取JSON后转data.frame出现单行的问题

问题现状

原JSON文件为35列40行结构,使用rjson包的fromJSON读取后,直接调用as.data.frame()得到的是1列1400个变量的结果,不符合预期。

核心原因

fromJSON返回的是一个长度为40的列表集合,每个子列表对应原数据的一行(包含35个字段)。直接使用as.data.frame()会将所有子列表的元素平铺为单行的列,而非按行合并。

解决代码

方法1:分步处理

raw_json_data <- read_file("World Class.json")
test_json <- fromJSON(raw_json_data)
# 将每个子列表转为单行data.frame,再纵向合并
result_df <- do.call(rbind, lapply(test_json, as.data.frame))

方法2:管道写法

result_df <- fromJSON(file = "World Class.json") |> 
  lapply(as.data.frame) |> 
  do.call(rbind, args = _)

说明

  • lapply(test_json, as.data.frame):将列表中的每个子元素(对应一行数据)转换为单行的data.frame
  • do.call(rbind, ...):将所有单行data.frame纵向合并,得到完整的40行35列数据结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:20:39