使用 r 将名为 Natco 的新列添加到合并的 excel 文件中

add a new column named Natco to the merged excel file using r

我正在尝试使用以下代码将多个 excel 文件合并为一个:

df <- rbind(df1, df2, df3, df4, df5)

此代码 运行 正确,并为我提供了正确的输出。但是我需要在合并数据框的末尾添加新列(Natco),它可以添加这个文件所在的每个数据框的名称,比如;

col1      col2   col3    col4    col5    Natco
5200      2018   text    short   term    df1
5300      2014   text    short   term    df2
5400      2017   string  short   term    df3
...       ...     ...     ...     ...    ...

有人知道如何在 R 中做到这一点吗?

阿山

您可以将 "Natco" 列 cbind 到每个优先于 rbind 的 df。

实现看起来像这样: df1 <- cbind(df1, "Natco"="df1") df2 <- cbind(df2, "Natco"="df2")

然后是

df <- rbind(df1, ... , df2)

这应该有效:

library(readxl)

excel_files <- list.files("fullPathToFolderWhereExcelFilesSits", full.names = TRUE)
df <- lapply(excel_files, read_xlsx, sheet = 1L)
for(i in 1:length(excel_files)){
  df[[i]]["Natco"] <- gsub(".*/", "", excel_files[i])
}