Я хочу сделать несколько заказов в цикле for, которые
- пренебрегают первой строкой ниже столбца
- изменить имя всего столбца на строчные и исключить все пробелы между словами (если есть)
- пренебречь несколькими столбцами и оставить остальные
- сделать rbind для всех листов в файле Excel
Я уже сделал это
library(tidyverse)
library(readxl)
library(xlsx)
library(reshape2)
setwd("D:/Plan")
file<-"Plan.xlsx"
excel_sheets(file)
sheet=excel_sheets(file)
for (i in 1:1) {
file=read_excel(file, sheet=sheet[i])
file<-file[-1,]
judul=colnames(file)
judul=tolower(judul)
judul=gsub(' ','',judul)
colnames(file)=judul
file %>% filter(!is.na(promo))
file=file %>% filter(!is.na(promo))
data=file[,names(file) %in% c("promo","startdate","enddate","sku","marketplacename","diskon","stok")]
}
out=data
for (i in 2:2) {
file=read_excel(file, sheet=sheet[i])
file<-file[-1,]
judul=colnames(file)
judul=tolower(judul)
judul=gsub(' ','',judul)
colnames(file)=judul
file %>% filter(!is.na(promo))
file=file %>% filter(!is.na(promo))
data=file[,names(file) %in% c("promo","startdate","enddate","sku","marketplacename","diskon","stok")]
x<-data
out=rbind(out,x)
}
этот код является просто примером файла Excel с 2 листами.Настоящий файл представляет собой файл с несколькими листами, но я хочу выполнять эти заказы независимо от количества листов, поэтому я не редактирую сценарий каждый раз, когда нахожу различное количество листов в файле.Как это сделать?