У меня есть несколько файлов excel, и у них есть уникальные имена листов (дата создания файла в моем случае). Я прочитал их навалом и должен присвоить имя листа каждому файлу в новом столбце «id». Я знаю, как сделать числовой идентификатор, или id = имя файла, но не могу найти способ получить имя листа как id.R: чтение нескольких файлов excel, извлечение первых имен листов и создание нового столбца
library(readxl)
library(data.table)
file.list <- list.files("C:/Users/.../Studies/",pattern='*.xlsx')
df.list <- lapply(file.list, read_excel)
#id = numeric
df <- rbindlist(df.list, idcol = "id")
#Or by file name:
attr(df.list, "names") <- file.list
df2 = rbindlist(df.list,idcol="id")
#How to get sheet names?
'attr (df.list," names ") <- sapply (file.list, excel_sheets)'? Должен работать, если каждый файл имеет только один лист. – Abdou
Спасибо. К сожалению, количество листов в каждом файле больше одного. Обычно 2, но может быть больше –
Итак, вы работаете только с первым листом из каждого файла? Если нет, то 'df.list' не содержит правильных данных. Если это так, вы можете сделать: 'attr (df.list," names ") <- sapply (file.list, function (x) excel_sheets (x) [1])'. – Abdou