小计64位win7上R读取excel过程

来源:互联网 发布:淘宝哪家手办店好 编辑:程序博客网 时间:2024/05/17 07:32

小计64位win7上R读取excel过程

 

首先尝试的是RODBC,不过过程相当不顺利
我电脑上安装的是office 2003,ODBC数据源里面找不到excel的驱动程序
原因是office是32为版本,安装的驱动程序无法在64位的win7上使用。
运行c:\windows\sysWOW64\odbcad32.exe后,可以配置32为的ODBC数据源。

按照网上的说明,建立32位的数据源后,无法在R里面获取连接
> conn = odbcConnect("contacts")
Warning messages:
1: In odbcDriverConnect("DSN=contacts") :
  [RODBC] ERROR: state IM014, code 0, message [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
2: In odbcDriverConnect("DSN=contacts") : ODBC connection failed

使用odbcConnectExcel方法也失败了,不支持64位的windows,错误如下:
> odbcConnectExcel("c:/r-workspace/contacts.xls")
Error in odbcConnectExcel("c:/r-workspace/contacts.xls") :
  odbcConnectExcel is only usable with 32-bit Windows

测试使用剪贴板的读取excel的方法,是可以的,但总觉得不是好办法
> df = read.table("clipboard", header=TRUE, sep="\t")
> df
  name gender address
1 张三     男    北京
2 李四     男    上海
3 王五     女    广州
4 赵六     女    深圳
5 田七     男    南京

成功使用XLConnect的包直接读取excel文件,就是这个包依赖于XLConnectJars包,比较大(15.7M)
> install.packages("XLConnect")
> library("XLConnect")
> df = readWorksheetFromFile("c:/r-workspace/contacts.xls", sheet=1, header=TRUE)
> df
  name gender address
1 张三     男    北京
2 李四     男    上海
3 王五     女    广州
4 赵六     女    深圳
5 田七     男    南京
0 0
原创粉丝点击