Используя ваши пакеты и пример, вы можете сделать следующее:
Передать имена файлов в списке:
Namen <- list(c('fname1', 'fname2') # your names list (i am guessing without .xlsx)
einlesepfad <- "path for reading the xlsm files"
Вставить каждый файл в фрейм данных
df.list <- list() #empty data frame list
df.list= lapply(Namen, function(i){
fname <- paste0(einlesepfad, i, '.xlsm') # get the full filename
x = read_excel(fname) # read the excel file in
# Edit: Removed the name column part
# Return your data
return (x)
})
Edit:
Только что увидел ваши правки с запросом именованного списка по элементам. Вот очень быстрое (не элегантное) решение для добавления имен:
names(df.list) <- lapply(Namen, function(x){x})
После этого вы можете получить доступ к каждому фрейму данных списка либо
df.list['name']
или по индексу df.list[1]
Edit2:
Кроме того, поскольку я заметил, что вы говорите, что список имен ваших файлов постоянно растет, при условии, что вы храните все файлы в одном и том же каталоге, вы можете сделать следующее:
Namen <– list.files(einlesepfad, '*.xlsm')
и просто не забудьте изменить имя fname внутри функции и удалить часть «.xlsm» следующим образом:
fname <- paste0(einlesepfad, i)