• 用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")即可

  • 相关阅读:
    【5】TensorFlow光速入门-图片分类完整代码
    【4】TensorFlow光速入门-保存模型及加载模型并使用
    科研数据库结构
    高并发请求的缓存设计策略
    iOS-KVC的原理
    iOS-KVO的原理
    Kafka too many open files问题解决
    VLOOKUP函数-Excel
    arcgis sql 字符串替换
    ArcGIS矢量转栅格再发布切片服务,还是直接发布切片服务?有何区别?
  • 原文地址:https://www.cnblogs.com/yupeter007/p/5421702.html
Copyright © 2020-2023  润新知