如何合并多个Excel文件

时间:2015-01-02 19:47:29

标签: r excel excel-2010 excel-2007

我有多个Excel文件,每个文件有两列。一个是相同的,另一个是不同的文件。

如何按公共列合并所有文件并将其另存为新文件?

注意:

我不希望将它们组合在一起(使用rbind)。相反,我希望{@ 1}}基于commun列。

对于R:

我有以下格式的文件名。

merge

由于文件名格式,我无法编写脚本来单独读取每个文件。我不知道如何编写一个循环只迭代15,20 ......并以某种方式离开结束部分。

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

# if those are the only files in the folder, you don't even need a pattern
filelist <- list.files(pattern = "^percent.*\\.csv$")    # read all file names according to pattern
files <- lapply(filelist, read.csv, header=TRUE)         # read all files in filelist
files <- lapply(files, function(x) x[-1])                # remove first column of each file
DF = Reduce(function(...) merge(..., by = "CommonColumn", all=T), files)   # merge all files
x <- sub("^(percent- )(\\d+)(\\s.*)$", "\\2", filelist)  # get the file name numbers 
names(DF[-1]) <- paste(names(DF[-1]), x, sep = "-")      # add file name numbers to column names in DF
write.csv(DF, "myfile.csv")                              # write data to new file

Reduce()部分取自here