zoukankan      html  css  js  c++  java
  • 用R读取外部的excel文件

    今天找了好多包来快速读取数量量比较大的excel包,但是总是出现OutOfMemoryError (Java): GC overhead limit exceeded,内存溢出报错。找到了两个R包可以解决该问题

    目前找到三个包可以读取excel数据。

    1 ,读取excel文件的包:xlsx包  只能读取".xlsx"格式的包

    install.packages("xlsx")

    library(xlsx)

    read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL,
    startRow=NULL, endRow=NULL, colIndex=NULL,
    as.data.frame=TRUE, header=TRUE, colClasses=NA,
    keepFormulas=FALSE, encoding="unknown", ...)

    这个包只能读取数据量不大的excel数据

    2,XLConnect包

    library("XLConnectJars")
    library("XLConnect")

    ##连接excel文件

    connect<-loadWorkbook("E:\wang\1.xlsx")

    #读取,A为Sheet名
    readWorksheet(connect,'A')
    此包只能读取数据量不大的excel数据
     
    前面两个包可以在R的很多版本里面都可以用
     
    3,readxl包   下载该包需要用R版本R version 3.2.5才能用,低于该版本的不能够使用
    install.packages("readxl")

    library(readxl)
     x<-read_excel("E:\wang\1.xlsx")还可以读取“xls”的excel文件,

    其他参数可以自己查询  ?read_excel()

    此函数可以快速读取excel的大量数据,且不会出现以上的内存溢出错误

    4,openxlsx包

    该包也能够读取大量的excel文件而不会出现内存溢出的错误,且该包可以在低版本的R中使用

    install.packages("openxlsx")

    library(openxlsx)

    x<-read.xlsx("E:\wang\1.xlsx",1)

    read.xlsx(xlsxFile, sheet = 1, startRow = 1, colNames = TRUE,
    skipEmptyRows = TRUE, rowNames = FALSE, detectDates = FALSE,
    rows = NULL, cols = NULL)

    注意:在安装好xlsx包之后,在安装XLConnect包时可能会出现错误,由于xlsx可能把有些XLConnect包中的函数给屏蔽掉了,此时需要移除xlsx包,remove.packages("xlsx")即可

  • 相关阅读:
    MYSQL索引
    Objective-C:KVO
    iOS UIKit:viewController之动画(5)
    iOS UIKit:viewController之Segues (4)
    iOS UIKit:viewController之Present (3)
    iOS UIKit:viewController之定义(2)
    iOS UIKit:viewController之层次结构(1)
    iOS UIKit:view
    iOS UIKit:App
    Objective-C:Block
  • 原文地址:https://www.cnblogs.com/yupeter007/p/5421702.html
Copyright © 2011-2022 走看看