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

如何将GOV.UK公共假日RJson转换为R语言DataFrame?

解决GOV.UK公共假日JSON转DataFrame的方法

fromJSON读取返回的是嵌套列表结构,每个地区对应包含events列表的元素,只需提取各地区事件数据并合并即可得到目标格式的DataFrame。

方案一(使用tidyverse工具)

library(jsonlite)
library(dplyr)
library(purrr)

# 读取JSON数据
holiday_json <- fromJSON("https://www.gov.uk/bank-holidays.json")

# 提取各地区事件并添加地区标识,合并为DataFrame
holiday_df <- map_dfr(names(holiday_json), function(region) {
  events <- holiday_json[[region]]$events
  events$region <- region
  events
})

# 保留目标三列并调整列名
holiday_final <- holiday_df %>%
  select(region, type, date) %>%
  rename(
    假日所属地区 = region,
    假日类型 = type,
    日期 = date
  )

# 查看结果示例
head(holiday_final)

方案二(基础R实现)

若不想依赖tidyverse包,用基础R代码也能完成:

library(jsonlite)

holiday_json <- fromJSON("https://www.gov.uk/bank-holidays.json")

# 初始化空DataFrame
holiday_df <- data.frame(
  region = character(), 
  type = character(), 
  date = character(), 
  stringsAsFactors = FALSE
)

# 循环遍历每个地区,提取数据并合并
for (region in names(holiday_json)) {
  events <- holiday_json[[region]]$events
  events$region <- region
  holiday_df <- rbind(holiday_df, events[, c("region", "type", "date")])
}

# 可选:修改列名为中文
colnames(holiday_df) <- c("假日所属地区", "假日类型", "日期")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:12:03