RODBC是R中的一个主要库,用于将数据从数据库导入到R中。RODBC
似乎具有“猜测”列的数据类型的能力,我发现它特别烦人。烦人的“功能”(或错误?)为RODBC
我已经上传的文件test.xls
here,或者您可以创建一个XLS文件自己:
- 创建2列,第一列名为
col_a
和第二列命名col_b
。无论你在col_a
喜欢 - 类型,我键入的字母在此列92行
- 在col_b的第92位排,键入数字在那里,我输入的是“1923年”不改变数据类型(即不使用
'
) - 尝试使用下面的脚本导入xls文件到R:
library(RODBC)
setwd("C:/Users/hke775/Documents/Enoch/MISC/R_problems/RODBC")
channel <- odbcConnectExcel("test.xls",readOnly=TRUE)
dummy.df <- sqlFetch(channel,"Sheet1")
odbcClose(channel)
您会看到在dummy.df
,col_b
全部是NA
,1923
这一列已不见了。
如果您想再次看到1923
,您可以将col_b
的第一行更改为一个数字,然后它会再次返回。
这是非常烦人的,因为我不喜欢手动修改数据。我需要使用其他软件包来执行xls导入,但是我找不到像RODBC
(我试过gdata
和xlsReadWrite
)那样顺利的其他软件包。
我错过了sqlFetch
命令中的任何内容,并造成麻烦吗?谢谢。
你确定你试过gdata吗?当我使用'DF < - read.xls(“test.xls”)使用gdata包测试了它的测试文件时,它就起作用了。 1923年出现了。 – 2012-01-30 12:33:16
Gdata需要有perl,我不能在我的办公室安装它 – lokheart 2012-01-30 12:46:15
如果能够安装R的能力,那么他们也应该安装Rtools发行版本,因为R开发所需要的并且它有perl:http ://cran.r-project.org/bin/windows/Rtools/ – 2012-01-30 13:06:12