如何遍历多个Excel表单并在新列中追加表单名称?

我有一个从多选项卡Excel导入的数据框,我想合并成一个大的数据框。 但是首先,我想创build一个新的列,将相应的图纸名添加到每个数据框(即对于数据框A,创build值为“A”的新列,为数据框B创build具有值“B”的新列)。 有一个简单的方法来做到这一点? 我想象了一种循环,但是我一直无法find解决scheme,说明如何从Excel中提取图纸名称。 希望有关如何做到这一点的任何提示。 谢谢!

查看Hadley Wickham的readxl软件包。 您可以使用excel_sheets()获取工作簿中每个工作表的列表,然后可以在循环中使用它们。

在excel书中有4个选项卡的示例我做了名为“a”,“b”,“c”和“d”。 结果是每个选项卡都有一个数据框的列表,在数据框中有一列用于跟踪表格名称。

 library(readxl) #initialize readin listing mysheets_fromexcel <- list() mysheetlist <- excel_sheets(path="your/path/yourworkbook.xlsx") i=1 for (i in 1:length(mysheetlist)){ tempdf <- read_excel(path="C:/Users/john/Desktop/Book1.xlsx", sheet = mysheetlist[i]) tempdf$sheetname <- mysheetlist[i] mysheets_fromexcel[[i]] <- tempdf } mysheets_fromexcel [[1]] # A tibble: 3 x 2 revision sheetname <dbl> <chr> 1 1 a 2 2 a 3 3 a [[2]] # A tibble: 3 x 2 revision sheetname <dbl> <chr> 1 1 b 2 2 b 3 3 b [[3]] # A tibble: 3 x 2 revision sheetname <dbl> <chr> 1 1 c 2 2 c 3 3 c [[4]] # A tibble: 3 x 2 revision sheetname <dbl> <chr> 1 1 d 2 2 d 3 3 d