全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10567 12
2013-08-24
我有多个EXCEL文件,每个文件里有非常多张表格,每个表格都是用数字命名,用RODBC读入的时候碰到了问题
con=odbcConnectExcel2007(sheet)
tbls=sqlTables(con)
result=sqlFetch(con,tbls$TABLE_NAME[1],colnames=FALSE,rownames=FALSE)
比如第一张表格名称是0000,就会出现下面的错误信息
Error in odbcTableExists(channel, sqtable) :
  ‘'0000$'’: table not found on channel

如果把表格名称改成字母,就能成功读入
由于表格实在太多,改名称不太现实,希望高手帮忙解答。另外有没有其他方法读入?已经尝试过xlsreadwirte和xlconnect,文件太大,完全读不了。
拜谢!

附件有一个EXCEL,有兴趣可以试一下

附件列表

test.xlsx

大小:266.1 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-8-25 00:14:13
非常感兴趣的问题!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-25 00:46:20
有些软件有这个问题,就是名称的第一个字母/或全部名称不能是数字,否则无法识别
如果实在你无法解决这个问题,给你个方案或许能行
把你的Excel存成2007版本的xlsx格式,改扩展名为.zip 然后用Winrar打开,在xl里面找到workbook.xml这个文件。解压缩这一个文件出来,用记事本打开,你会看到你文件中所有表格的名称,然后一个个改,或者写个程序改(这个文件是XML的),修改完毕后把文件拖回zip里覆盖,再改扩展名回xlsx 就可以看到所有的表格都改了
如果你的表格太多或者文件太大不方便打开操作,可以用这个法子,一般那个workbook很小,几K或者几十K,比打开excel快多了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-25 01:58:20
方便上载文件?可以尝试使用paste + lapply...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-25 11:00:31
ryusukekenji 发表于 2013-8-25 01:58
方便上载文件?可以尝试使用paste + lapply...
传两个工作表上来,你试试,谢谢~~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-8-25 11:13:03
NoHL 发表于 2013-8-25 00:46
有些软件有这个问题,就是名称的第一个字母/或全部名称不能是数字,否则无法识别
如果实在你无法解决这个问 ...
手动改不太现实,有上千个表格。
写程序倒是可以试试,应该就是替换sheet name=后面的字符串,我用R处理文字不太行,我研究研究。
不知道您有没有相似的程序,或者有什么思路,十分感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群