[英]Using read_excel to upload and automatically name all existing workbook sheets (without specifying the number of sheets)
[英]Import all Sheets of an Excel in a folder, without mentioning Excel Name
我需要導入具有各自名稱的所有工作表,並僅提及文件夾路徑。
filename <-"D:/Dash/"
sheets <- openxlsx::getSheetNames(filename)
SheetList <- lapply(sheets,openxlsx::read.xlsx,xlsxFile=filename)
names(SheetList) <- sheets
但它顯示錯誤,因為沒有提到文件名。
我需要的是從僅提及文件夾路徑的文件夾中的 Excel 中導入這些工作表。
正如@MichaelChirico 所指出的,您可以使用list.files
path <- "D:/Dash/"
excelFiles <- list.files(path = path, pattern = '.*\\.xlsx', full.names = TRUE) # or xls, xlsm, xlsb, etc.
現在提取數據
方法一
sheetNamesList <- lapply(seq_along(excelFiles),
function (k) c(file = excelFiles[k],
sheet = openxlsx::getSheetNames(excelFiles[k]))
)
sheetData <- lapply(seq_along(sheetNamesList),
function (k) openxlsx::read.xlsx(xlsxFile = sheetNamesList[[k]]['file'],
sheet = sheetNamesList[[k]]['sheet'])
)
方法二
sheetData <- lapply( seq_along(excelFiles),
function (k) {
tmpSheets <- openxlsx::getSheetNames(excelFiles[k])
tmpData <- lapply(seq_along(tmpSheets), function (n) openxlsx::read.xlsx(excelFiles[k], sheet = tmpSheets[n]))
tmpData
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.