簡體   English   中英

導入文件夾中的所有 Excel 表格,不提及 Excel 名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM