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

如何在R中使用循环批量下载OECD文件并自定义命名保存

R语言批量下载OECD MEI_REAL数据集解决方案

首先给出可直接运行的修改后代码:

library(OECD)

# 配置下载参数
country_list <- c("AUS", "BEL", "DEU") # 替换为你需要的国家ISO代码
year_range <- 2000:2019 # 替换为你需要的年份范围

# 双层循环遍历国家+年份组合
for (country in country_list) {
  for (year in year_range) {
    # 拉取单国家单年份数据
    temp_data <- get_dataset(
      "MEI_REAL",
      filter = list(NULL, country),
      start_time = year,
      end_time = year
    )
    # 按要求生成文件名并保存
    file_name <- paste0("MEI_REAL_", country, "_", year, ".csv")
    write.csv(temp_data, file = file_name, row.names = FALSE)
    # 可选:请求频繁报错时取消下行注释,增加1秒请求间隔避免触发限流
    # Sys.sleep(1)
  }
}

两个问题的实现逻辑说明

  • 多国家多年份循环下载:首先定义国家列表、年份范围两个参数向量,通过双层循环分别遍历国家和年份,每次请求仅拉取单国家单年份的数据,避免单次请求量过大导致接口返回失败。也可以用expand.grid(country_list, year_range)预先生成所有国家+年份的组合,再通过单层循环遍历组合,实现效果一致。
  • 自定义命名保存:使用paste0()函数拼接固定前缀、国家代码、年份、文件后缀四个要素生成目标文件名,调用write.csv()时将file参数设置为拼接好的文件名即可,row.names = FALSE可以避免输出多余的行号列。如果需要保存到指定文件夹,可在文件名前补充文件夹路径即可。

小提示:如果需要对应国家全称而非ISO代码命名,可提前准备国家代码和全称的映射表,循环时匹配替换文件名中的country参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:15:03