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

如何将TXT文件中JSON字符串解析得到的R DataFrame展开为长格式

解决EIA批量JSON数据的长格式展开问题

错误代码分析

你之前尝试的unnest所有列后转置的方式不符合EIA数据的嵌套结构,会导致字段错乱,无法得到正确的长格式数据。

正确处理步骤

1. 加载依赖包

library(jsonlite)
library(tidyverse)

2. 读取并解析JSON数据

替换成你的本地文件路径(注意关闭文件连接,避免资源占用):

filepath <- "你的EIA数据文件路径.txt"
content <- file(filepath, open = "rt")
seds <- stream_in(content)
close(content)

3. 逐步展开嵌套列得到长格式

EIA的SEDS数据中,series_id、name、units是一一对应的序列标识,data是该序列下的年份-数值集合,按以下步骤展开:

seds_long <- seds %>%
  # 展开序列标识列(每个序列一行)
  unnest(cols = c(series_id, name, units, description)) %>%
  # 展开年份-数值数据(每个年份一行)
  unnest(cols = data) %>%
  # 重命名列以提升可读性
  rename(year = period, energy_value = value)

4. 验证结果

用glimpse查看最终长格式结构:

glimpse(seds_long)

最终数据每行对应一个序列在某一年的记录,包含序列ID、变量名、单位、年份、数值等核心字段,符合长格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 08:34:54