【问题标题】:How to apply code to multiple Excel workbooks/sheets如何将代码应用于多个 Excel 工作簿/工作表
【发布时间】:2019-07-19 03:25:37
【问题描述】:

我有三个不同的 Excel 工作簿,每个工作簿有 6 个表格(选项卡),每个表格都包含患者数据。
所有文件的名称都位于相同的位置,并且名称很长:
即“2:NIH-IN NIH-IN-99-D99 MDSC Panel NIH 2-99-99”

我已使用以下代码删除了额外的标签并获得了我想要的名称 (NIH-IN-##)

#Load Data 
test <- read.csv("C:/Users/####/Desktop/test.csv")
View(test)

#Take original and remove later chunk following "D" (day)   
df<-separate(test, Sample, c("Keep", "Disc"), "-D", extra = "merge")  

#Split both IN and OUT 
df2<-separate(df, Keep, c("Dont Need", "Need"), sep= "(['NIH-IN '\\'NIH-OUT '\\])", extra = "merge") 
df2<-separate(df2, Need, c("Dont Need", "Need"), " ", extra = "merge")

我想知道如何应用此代码,以便它通过我的三个 Excel 工作簿并(如果可能)通过每个工作表中的每个工作表/选项卡。

我对编码很陌生,所以请原谅任何错误。

【问题讨论】:

    标签: r excel loops csv tidyverse


    【解决方案1】:

    您是否正在寻找一个可以运行您的代码 18 次的循环?您需要将结果存储在列表中。

    results <- list()
    i <- 1
    
    for (filename in c("filename1", "filename2", "filename3")) {
    x <- read.csv(filename)
    x <- separate(...)
    x <- separate(...)
    x <- separate(...)
    results[i] <- x
    i <- i + 1
    }
    

    【讨论】:

    • 我想是的。我有我的代码,并且正在寻找一种方法来告诉它运行什么,而不是必须单独上传每个文件、运行代码并导出。另外,循环结束时 i
    • 我目前正在将其导出为 xlsx 文件并手动将其合并回我需要编辑的 excel 文件中。
    • i
    • 您用于“导出”的代码是什么?我们也可以将其合并到循环中。现在,我向您展示的代码只是读取并存储 18 个文件,但我们也可以让它导出数据 18 次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多