当我尝试运行sqlFetch
语句时,我间歇性地收到以下错误。从excel中获取数据R
Error in odbcTableExists(channel, sqtable) :
‘Sheet20’: table not found on channel
当我尝试运行sqlFetch
语句时,我间歇性地收到以下错误。从excel中获取数据R
Error in odbcTableExists(channel, sqtable) :
‘Sheet20’: table not found on channel
odbcTableExists
是RODBC
包的内部函数。这行代码
if (abort && !ans)
stop(sQuote(tablename), ": table not found on channel")
意味着表名存在问题(很明显)。仔细检查表名的大小写,即使sql语句不区分大小写R是!
如果不是问题,请尝试从gdata
包中获取read.xls
功能。它依靠一个Perl库将excel电子表格转换为csv,然后致电read.table
。这意味着您可以将read.xls
的任何参数传递给read.table
,这有时非常有用。
希望有所帮助。
如果您不满意ODBC,我建议您看看XLConnect或其他Excel界面包之一。
直接从Excel中获取数据很难,难道你不能将你的数据导出为.csv格式吗? – Stijn 2013-04-11 09:38:38
我同意@Stijn很难从excel中导入数据,但并非总是如此。我们能否看到一个数据的例子(可能是一张表的截图)? – 2013-04-11 09:44:51
你可以使用'xlsx'包的'read.xlsx'函数? – JT85 2013-04-11 11:11:17