繁体   English   中英

XLConnect-带有循环对象的readWorksheet

[英]XLConnect - readWorksheet with looping object

我使用带有XLConnect包的R Studio 3.1.2版来加载,读取和写入多个xlsx文件。 我可以通过复制和创建多个对象来做到这一点,但是我试图使用1个对象(同一文件夹中的所有文件)来做到这一点。 请参阅示例,我可以列出每个文件,但要使用循环来完成

tstA <- loadWorkbook("\\\\FS01\\DEPARTMENTFOLDERS$\\tst\\2015\\Apr\\DeptA.xlsx")
tstB <- loadWorkbook("\\\\FS01\\DEPARTMENTFOLDERS$\\tst\\2015\\Apr\\DeptB.xlsx")

这是即时通讯尝试这样做的方式,但出现错误

dept <- c("DeptA","DeptB","DeptC")
for(dp in 1:length(dept)){
dept[dp] <- loadWorkbook("\\\\FS01\\DEPARTMENTFOLDERS$\\tst\\2015\\Apr\\",dept[dp],".xlsx")}

之后,我要使用XLConnect的readWorksheet函数。

对于the脚的问题表示歉意,但我正在努力锻炼如何最好地做到这一点。 谢谢

您可以按照以下步骤通过一次操作将所有文件读入列表(根据需要调整patternsheet以获取所需的文件/图纸):

path = "\\\\FS01\\DEPARTMENTFOLDERS$\\tst\\2015\\Apr\\"

df.list = lapply(list.files(path, pattern="xlsx$"), function(i) {
  readWorksheetFromFile(paste0(path, i), sheet="YourSheetName")
})

如果要将所有数据帧合并为一个数据帧,可以执行以下操作:

df = do.call(rbind, df.list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM