在 R 中合并文件的 ODBC 连接错误
ODBC Connection error for merging files in R
我正在尝试使用 RODBC
包中 R 中的 odbcConnectExcel2007
函数读取 excel 文件。在读取单个文件时,它正在工作。但是当我尝试 运行 使用 for
循环函数时,它会抛出以下错误
3 stop(sQuote(tablename), ": table not found on channel")
2 odbcTableExists(channel, sqtable)
1 sqlFetch(conn1, sqlTables(conn1)$TABLE_NAME[1])
代码如下:-
file_list <- list.files("./Raw Data")
file_list
for (i in 1:length(file_list)){
conn1 = odbcConnectExcel2007(paste0("./Raw Data/",file_list[i])) # open a connection to the Excel file
sqlTables(conn1)$TABLE_NAME
data=sqlFetch(conn1, sqlTables(conn1)$TABLE_NAME[1])
close(conn1)
data <- data[,c("Branch","Custome","Category","Sub Category","SKU"
"Weight","Order Type","Invoice Date")]
if(i==1) alldata=data else{
alldata = rbind(alldata,data)
}
}
如有任何帮助,我将不胜感激。
提前致谢。
我认为它与从 sqlTables(conn1)$TABLE_NAME 对象返回的引号的 table 名称混淆了。尝试通过删除引号来操纵 table 名称。像这样:
table <- sqlTables(conn1)$TABLE_NAME
table <- noquote(table)
table <- gsub("\'", "", table)
然后就这样做:
data=sqlFetch(conn1, table)
我正在尝试使用 RODBC
包中 R 中的 odbcConnectExcel2007
函数读取 excel 文件。在读取单个文件时,它正在工作。但是当我尝试 运行 使用 for
循环函数时,它会抛出以下错误
3 stop(sQuote(tablename), ": table not found on channel")
2 odbcTableExists(channel, sqtable)
1 sqlFetch(conn1, sqlTables(conn1)$TABLE_NAME[1])
代码如下:-
file_list <- list.files("./Raw Data")
file_list
for (i in 1:length(file_list)){
conn1 = odbcConnectExcel2007(paste0("./Raw Data/",file_list[i])) # open a connection to the Excel file
sqlTables(conn1)$TABLE_NAME
data=sqlFetch(conn1, sqlTables(conn1)$TABLE_NAME[1])
close(conn1)
data <- data[,c("Branch","Custome","Category","Sub Category","SKU"
"Weight","Order Type","Invoice Date")]
if(i==1) alldata=data else{
alldata = rbind(alldata,data)
}
}
如有任何帮助,我将不胜感激。 提前致谢。
我认为它与从 sqlTables(conn1)$TABLE_NAME 对象返回的引号的 table 名称混淆了。尝试通过删除引号来操纵 table 名称。像这样:
table <- sqlTables(conn1)$TABLE_NAME
table <- noquote(table)
table <- gsub("\'", "", table)
然后就这样做:
data=sqlFetch(conn1, table)