从excel,txt中读取数据

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。很开心!!

明天继续!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # -*- coding: utf-8 -*- import numpy as np import pandas ...
    小豆角lch阅读 4,136评论 0 1
  • 这个学期起初的时候对一些东西有所了解过,就跳过很多东西吧,把一些自己认为重要的做出笔记,看了昨天的那东西,截图搞得...
    六六的建斌阅读 4,765评论 0 1
  • 1、三种常见的清洗数据 1)重复值数据 定义:把数据结构中,行数据相同的剔除 unique 函数语法: uniqu...
    雨一流阅读 4,093评论 0 2
  • 使用首先需要了解他的工作原理 1.POI结构与常用类 (1)创建Workbook和Sheet (2)创建单元格 (...
    长城ol阅读 12,702评论 2 25
  • 某天,和几位供电企业的学员课下交流时,有人问我: “欧老师,为什么我们现在服务越做越好,还是有那么多的客户骂我们‘...
    师者欧哒哒阅读 3,325评论 0 2