For循环在多个工作簿中计数不同的Excel工作表R

时间:2018-11-27 10:08:03

标签: r loops for-loop worksheet readxl

此代码读取工作簿中的每个工作表,然后搜索一个单词,并写入一个文件,如果找到该单词,则说“ true”。

问题是我必须列出要阅读的图纸。这是工作,除非工作簿具有不同数量的工作表。因此,在这种情况下,该代码将适用于具有60张纸的工作簿,但如果有61页,则无法使用。

isWordInTibble <- function(word, tibble) {
  any(unlist(
    sapply(1:ncol(tibble), 
           function(i) word %in% as.character(unlist(tibble[, i])))))
}

sheet_to_read <- c(1:60) ### **this part needs a for loop!!!!**

for(excelsheet in files){
 for (sheet in sheets_to_read) {
temp <- read_excel( path = excelsheet, sheet = sheet, col_names = FALSE)
if (isWordInTibble("Paludisme", temp)) {
 write.csv(temp, 
           file = gsub(".xlsx", 
                             paste0(substr(temp[-1, 1], 
                                           1,
                                           1), 
                                    gsub("sheet", "", sheet), 
                                        substr(tolower(as.character(isWordInTibble("Paludisme", temp))), 
                                           1,
                                           5),
                                    ".csv"), 
                             excelsheet)) } } } 

我有这段代码可以识别多少张纸

numbs<- as.list(lapply(files,excel_sheets)) 
listed<-t(lapply(numbs, function(x) lapply(x,length)))

,但不知道如何将其添加到上面的代码中。我希望代码首先确定c(1:xxx)有多少张纸,然后在此上运行其余代码。

0 个答案:

没有答案