美文网首页
从excel,txt中读取数据

从excel,txt中读取数据

作者: luoluo2014 | 来源:发表于2015-01-04 20:46 被阅读426次

    1)剪切板

    dat<-read.table("clipboard",header=T)

    header=T为读入变量名

    2)从文本文件读取

    (X=read.table("1230.txt"))

    3)从excel读取

    X=read.table("1230.csv",sep=",")

    excel单个工作簿存成csv格式,才能被R调用

    而直接调用excel多个工作簿时,需要安装和调用RODBC包。

    在http://mirror.bjtu.edu.cn/cran/网站上找到与自己的操作系统和R版本相对的ODBC包,下载到本地,再安装

    library(RODBC)

    > Rcode<-odbcConnectExcel("D:\\BI指标20140813.xlsx")

    错误于odbcConnectExcel("D:\\BI指标20140813.xlsx") :odbcConnectExcel is only usable with 32-bit Windows

    报错了,原因在于我的电脑为64位的,而RODBC包里的odbcConnectExcel函数只支持32位系统。

    查看网上博客,看到有人用XLConnect包里的readWorksheetFromFile函数,试验过程为,从http://mirror.bjtu.edu.cn/cran/网站上找到与自己的操作系统和R版本相对的XLConnect包,仍然报错,提示还需要下载rJava包,下好后

    > library(XLConnectJars)

    > library(XLConnect)

    >df=readWorksheetFromFile("12306.xlsx",sheet=1,header=TRUE)

    错误: POIXMLException (Java): java.lang.reflect.InvocationTargetException

    报错了,将excel文件存成.xls尝试

    >df=readWorksheetFromFile("C:\\Users\\yxc\\Desktop\\12306.xls",sheet=2,header=TRUE)

    错误: OutOfMemoryError (Java): Java heap space

    还是报错。显示内存溢出,我的文件有59.8M,尝试将其中几条数据复制出来到1.xlsx

    >df=readWorksheetFromFile("C:\\Users\\yxc\\Desktop\\1.xlsx",sheet=1,header=TRUE)

    > df

    [1] name be

    OK了,R能读取的数据量太少了点吧,有点着急啊,如果连excel还不如,连SPSS都不如,那就让我太失望了,肯定是我的方法不对。上网搜,问群里的小伙伴,最后发现是我方法引用不对的问题,群里小伙伴告诉我,习惯用csv为好,于是按照他的方法,用了另外一个函数,read.table

    > x=read.table("12306.csv",fill=TRUE)

    成功了!

    小伙伴说100G以下R都很happy。很开心!!

    明天继续!

    相关文章

      网友评论

          本文标题:从excel,txt中读取数据

          本文链接:https://www.haomeiwen.com/subject/hlmztttx.html