Contexto

# No hay ningun objeto creado
ls()
character(0)

Se crea un vector caracter con los nombres de los archivos Excel

file.list = list.files(pattern = '*.xlsx')
file.list
[1] "TIENDA_A.xlsx" "TIENDA_B.xlsx"

Ejemplo de leer la 1ra hoja del 1er archivo Excel

library(readxl)
Warning: package ‘readxl’ was built under R version 4.2.1
head(read_excel(file.list[1],sheet = 1), 5)

Ejemplo de obtener los nombres de las hojas del 1er archivo Excel

excel_sheets(file.list[1])
[1] "ENERO"   "FEBRERO" "MARZO"  

Ejemplo de leer la 2da hoja del 1er archivo Excel

head(read_excel(file.list[1],sheet = 2), 5)

Bucle que creará dataframes por cada hoja Excel 🤓

# bucle q seleccionara cada archivo excel
for(i in 1:length(file.list)){
  # crea un lista y cada elemento es un dataframe de cada hoja del archivo excel
  sheet_list = lapply(excel_sheets(file.list[i]), read_excel, path=file.list[i]) 
  # bucle que seleccionara cada elemento de la lista
  for (j in 1:(length(sheet_list))){
    # se crean distintos dataframes por cada elemento de la lista
    # cada elemento tendra un nombre consecutivo:
    # 1ro se obtiene el nombre del archivo quitando la extension .xslx (nchar, substr)
    # ejemplo: de "TIENDA_A.xlsx" a "TIENDA_A"
    # 2do se adiciona un sufijo consecutivo _#
    # ejemplo: "TIENDA_A_1" (paste)
    # 3ro se asignan los nombres consecutivos a cada elemento de la lista
    #     creando asi distintos dataframes con nombres consecutivos
    # ejemplo: TIENDA_A_1, TIENDA_A_2, etc...
    sheet_list[[j]] = assign(paste(substr(file.list[i],1,(nchar(file.list[i])-5)), 
                                   j, sep = "_"), sheet_list[[j]]) 
    
  }
}
# Se observa los dataframes creados
ls()
 [1] "file.list"  "i"          "j"          "sheet_list" "TIENDA_A_1" "TIENDA_A_2" "TIENDA_A_3"
 [8] "TIENDA_B_1" "TIENDA_B_2" "TIENDA_B_3"
head(TIENDA_A_1, 5)
head(TIENDA_A_2, 5)
LS0tDQp0aXRsZTogIkNyZWFyIGRhdGFmcmFtZXMgcG9yIGNhZGEgaG9qYSBFeGNlbCINCmF1dGhvcjogIkNhbGViIFRlcnJlbCBPcmVsbGFuYSwgKmNhbGViLnRlcnJlbEBnbWFpbC5jb20qIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIyMgQ29udGV4dG8NCg0KIVtdKEQ6L0N1cnNvcy9BbmFseXRpY3NfU29sdXRpb25zL0NyZWFyRGF0YWZyYW1lc1BvckNhZGFIb2phRXhjZWwvaW1nL2ltZzMucG5nKXt3aWR0aD0nMTAwcHgnfQ0KDQoqIFNlIHRpZW5lbiB2YXJpb3MgYXJjaGl2b3MgZXhjZWwsIGRlIGxvcyBjdWFsZXMgc2UgZGVzZWEgbGVlciANCmNhZGEgaG9qYSBjb21vIHVuIGRhdGFmcmFtZSBkaXN0aW50bywgY29uc2lkZXJhbmRvIG5vbWJyZXMgY29uIHN1Zmlqb3MgY29uc2VjdXRpdm9zDQoNCjxwIGFsaWduPSJjZW50ZXIiPg0KIVtdKEQ6L0N1cnNvcy9BbmFseXRpY3NfU29sdXRpb25zL0NyZWFyRGF0YWZyYW1lc1BvckNhZGFIb2phRXhjZWwvaW1nL2FyY2hpdm9zLnBuZykNCjwvcD4NCg0KDQo8cCBhbGlnbj0iY2VudGVyIj4NCiFbXShEOi9DdXJzb3MvQW5hbHl0aWNzX1NvbHV0aW9ucy9DcmVhckRhdGFmcmFtZXNQb3JDYWRhSG9qYUV4Y2VsL2ltZy9ob2phcy5wbmcpe3dpZHRoPSczMDBweCd9DQo8L3A+DQoNCiogUG9kcsOtYSBzZXJ2aXIgcGFyYSB1biBwcm9jZXNvIGRlIGFuw6FsaXNpcyBvIHByZXBhcmFjacOzbiBkZSBkYXRvcw0KPHAgYWxpZ249ImNlbnRlciI+DQohW10oRDovQ3Vyc29zL0FuYWx5dGljc19Tb2x1dGlvbnMvQ3JlYXJEYXRhZnJhbWVzUG9yQ2FkYUhvamFFeGNlbC9pbWcvb2gteWVhaC1kYW5jZS5naWYpe3dpZHRoPSczMDBweCd9DQo8L3A+DQoNCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0UsIGVjaG89RkFMU0V9DQpyZXF1aXJlKCJrbml0ciIpDQpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gIkQ6L0N1cnNvcy9BbmFseXRpY3NfU29sdXRpb25zL0NyZWFyRGF0YWZyYW1lc1BvckNhZGFIb2phRXhjZWwvZGF0YSIpDQpgYGANCg0KYGBge3J9DQojIE5vIGhheSBuaW5ndW4gb2JqZXRvIGNyZWFkbw0KbHMoKQ0KYGBgDQojIyMgU2UgY3JlYSB1biB2ZWN0b3IgY2FyYWN0ZXIgY29uIGxvcyBub21icmVzIGRlIGxvcyBhcmNoaXZvcyBFeGNlbA0KYGBge3J9DQpmaWxlLmxpc3QgPSBsaXN0LmZpbGVzKHBhdHRlcm4gPSAnKi54bHN4JykNCmZpbGUubGlzdA0KYGBgDQoNCiMjIyBFamVtcGxvIGRlIGxlZXIgbGEgMXJhIGhvamEgZGVsIDFlciBhcmNoaXZvIEV4Y2VsDQoNCmBgYHtyfQ0KbGlicmFyeShyZWFkeGwpDQpoZWFkKHJlYWRfZXhjZWwoZmlsZS5saXN0WzFdLHNoZWV0ID0gMSksIDUpDQpgYGANCg0KIyMjIEVqZW1wbG8gZGUgb2J0ZW5lciBsb3Mgbm9tYnJlcyBkZSBsYXMgaG9qYXMgZGVsIDFlciBhcmNoaXZvIEV4Y2VsDQoNCmBgYHtyfQ0KZXhjZWxfc2hlZXRzKGZpbGUubGlzdFsxXSkNCmBgYA0KDQojIyMgRWplbXBsbyBkZSBsZWVyIGxhIDJkYSBob2phIGRlbCAxZXIgYXJjaGl2byBFeGNlbA0KDQpgYGB7cn0NCmhlYWQocmVhZF9leGNlbChmaWxlLmxpc3RbMV0sc2hlZXQgPSAyKSwgNSkNCmBgYA0KDQojIyMgQnVjbGUgcXVlIGNyZWFyw6EgZGF0YWZyYW1lcyBwb3IgY2FkYSBob2phIEV4Y2VsIPCfpJMNCg0KYGBge3J9DQojIGJ1Y2xlIHEgc2VsZWNjaW9uYXJhIGNhZGEgYXJjaGl2byBleGNlbA0KZm9yKGkgaW4gMTpsZW5ndGgoZmlsZS5saXN0KSl7DQogICMgY3JlYSB1biBsaXN0YSB5IGNhZGEgZWxlbWVudG8gZXMgdW4gZGF0YWZyYW1lIGRlIGNhZGEgaG9qYSBkZWwgYXJjaGl2byBleGNlbA0KICBzaGVldF9saXN0ID0gbGFwcGx5KGV4Y2VsX3NoZWV0cyhmaWxlLmxpc3RbaV0pLCByZWFkX2V4Y2VsLCBwYXRoPWZpbGUubGlzdFtpXSkgDQogICMgYnVjbGUgcXVlIHNlbGVjY2lvbmFyYSBjYWRhIGVsZW1lbnRvIGRlIGxhIGxpc3RhDQogIGZvciAoaiBpbiAxOihsZW5ndGgoc2hlZXRfbGlzdCkpKXsNCiAgICAjIHNlIGNyZWFuIGRpc3RpbnRvcyBkYXRhZnJhbWVzIHBvciBjYWRhIGVsZW1lbnRvIGRlIGxhIGxpc3RhDQogICAgIyBjYWRhIGVsZW1lbnRvIHRlbmRyYSB1biBub21icmUgY29uc2VjdXRpdm86DQogICAgIyAxcm8gc2Ugb2J0aWVuZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcXVpdGFuZG8gbGEgZXh0ZW5zaW9uIC54c2x4IChuY2hhciwgc3Vic3RyKQ0KICAgICMgZWplbXBsbzogZGUgIlRJRU5EQV9BLnhsc3giIGEgIlRJRU5EQV9BIg0KICAgICMgMmRvIHNlIGFkaWNpb25hIHVuIHN1ZmlqbyBjb25zZWN1dGl2byBfIw0KICAgICMgZWplbXBsbzogIlRJRU5EQV9BXzEiIChwYXN0ZSkNCiAgICAjIDNybyBzZSBhc2lnbmFuIGxvcyBub21icmVzIGNvbnNlY3V0aXZvcyBhIGNhZGEgZWxlbWVudG8gZGUgbGEgbGlzdGENCiAgICAjICAgICBjcmVhbmRvIGFzaSBkaXN0aW50b3MgZGF0YWZyYW1lcyBjb24gbm9tYnJlcyBjb25zZWN1dGl2b3MNCiAgICAjIGVqZW1wbG86IFRJRU5EQV9BXzEsIFRJRU5EQV9BXzIsIGV0Yy4uLg0KICAgIHNoZWV0X2xpc3RbW2pdXSA9IGFzc2lnbihwYXN0ZShzdWJzdHIoZmlsZS5saXN0W2ldLDEsKG5jaGFyKGZpbGUubGlzdFtpXSktNSkpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaiwgc2VwID0gIl8iKSwgc2hlZXRfbGlzdFtbal1dKSANCiAgICANCiAgfQ0KfQ0KYGBgDQoNCmBgYHtyfQ0KIyBTZSBvYnNlcnZhIGxvcyBkYXRhZnJhbWVzIGNyZWFkb3MNCmxzKCkNCmBgYA0KDQoNCmBgYHtyfQ0KaGVhZChUSUVOREFfQV8xLCA1KQ0KaGVhZChUSUVOREFfQV8yLCA1KQ0KYGBgDQo=