Этот код читает каждый лист в рабочей книге, а затем ищет слово и записывает файл, чтобы сказать «истина», если слово найдено.
Проблема в том, что мне нужно составить список, в котором указано, какие листы читать,Это работа, если рабочие книги не имеют разного количества листов.Таким образом, в этом случае код будет работать для рабочей книги с 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)
, а затем запустил остальную часть кода на этом.