【问题标题】:Creating an iterative loop in R to read in all Excel files in a folder, performing the same function, and exporting as a new file在 R 中创建一个迭代循环以读取文件夹中的所有 Excel 文件,执行相同的功能,并导出为新文件
【发布时间】:2021-06-11 14:10:44
【问题描述】:

我目前的问题是我写了以下内容:

list.of.packages <- c("xlsx","dplyr","tidyverse")
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(list.of.packages, require, character.only=T)

setwd("C:/Users/Google Drive/Global MIS/Global profiles/profiles_as_data")

AEC_data <- read.xlsx("G-AEC-DATA.xlsx", sheetIndex = 1, as.data.frame = T, check.names = F)

rownames(AEC_data) = make.names(AEC_data$AEC, unique = T)
AEC_data <- tibble::rownames_to_column(AEC_data,"Variable")
AEC_data <- select(AEC_data, -2)

AEC_data_reshaped <- reshape(AEC_data,
                             direction = "long",
                             varying = list(names(AEC_data)[2:17]),
                             v.names = "Value",
                             idvar = "AEC",
                             timevar = "Year",
                             times = 2004:2019)

AEC_data_reshaped <- select(AEC_data_reshaped, -4)
AEC_data_reshaped$Company <- "AEC"

write.xlsx(AEC_data_reshaped, "C:/Users//Google Drive/Global MIS/Global profiles/profiles_as_data_long/G-AEC-DATA-LONG.xlsx", row.names = F, showNA = F)

这只是读入 G-AEC-DATA.xlsx,将其处理成长格式并进行一些清理。然后将其输出到具有新名称的新文件夹中。

我的问题是我必须为 30 个 xlsx 文件执行此操作。我基本上需要找到并替换“AEC”并再次迭代“ABC”,比如说。

我猜我需要设置一个列表,例如:

fileNames <- c("AEC.xlsx","ABC.xlsx")

例如,然后遍历每个文件名。所有原始文件格式完全相同,我只需要切换出ISO3代码并遍历每个文件,

谢谢。

【问题讨论】:

    标签: r excel iteration xlsx


    【解决方案1】:

    也许你可以这样做:

    my_xlsx_files <- dir(path=my_path)
    for (file in my_xlsx_files){
       #do what you want here and save
    }
    

    【讨论】:

    • 我插入了files &lt;- list.files(path = wd, pattern = "*.xlsx", full.names = T),它输出了一个文件列表,现在我要做的是运行上面的代码来清理它并将其保存在不同的文件夹中。每个文件的格式为“G-AEC-DATA.xlsx”,只有“AEC”更改为不同的首字母缩写词。我基本上想为每个文件运行上面的代码,用列表中的下一个首字母缩写词替换 AEC。
    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 2021-11-24
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多