【发布时间】:2013-07-22 19:19:28
【问题描述】:
您好,我正在尝试遍历一个 excel 文件目录进行分析。
我的变量名为 FileToGrab,它获取 excel 文件的名称。
我有粗体的 FileToGrab 是我希望将数据框命名为不是实际的 FileToGrab 数据框。
示例 FileToGrab = 2013ExcelSheet23
我希望我的数据框命名为 2013ExcelSheet23 而不是 FileToGrab。
FileToGrab = 2013ExcelSheet24
我希望我的数据框命名为 2013ExcelSheet24 而不是 FileToGrab。
FileToGrab = 2013ExcelSheet25
我希望我的数据框命名为 2013ExcelSheet25 而不是 FileToGrab。
.....等等。
如果这没有意义,R 的新手很抱歉。谢谢
x <- 1:50
for(i in seq(along=x))
{
FileToGrab = gsub("(^ +)|( +$)", "",listofFile[i])
FileToGrab = str_replace_all(string=FileToGrab, pattern=" ", repl="")
DirFileName = paste("C:\\Users\\w47593\\Desktop\\RProjects\\CallCenterProjectJuly2013\\Files\\",FileToGrab)
DirFileName = str_replace_all(string=DirFileName, pattern=" ", repl="")
file.name <- DirFileName
sheet.name <- "Detail"
FileToGrab = str_replace_all(string=FileToGrab, pattern=".xls", repl="")
## Connect to Excel File Pull and Format Data
excel.connect <- odbcConnectExcel(DirFileName)
**FileToGrab** <- sqlFetch(excel.connect, sheet.name, na.strings=c("","-"))
odbcClose(excel.connect)
}
【问题讨论】:
-
...我不确定,但是以数字开头的文件名可能不适合作为 R 中的标识符;但是,
assign()函数可能会帮助您将结果填充到一系列变量中,这些变量的名称在执行期间已确定(因此您可能需要类似于assign(sprintf(".Sheet.%s",FileToGrab), sqlFetch(...))的内容)。