R 讀取xls/xlsx文件


readxl

install.packages('readxl',repois='https://mirrors.utsc.edu.cn/CRAN/)
library(readxl)
# read_excel()自動識別xls/xlsx
# read_xls()讀取xls
# read_xlsx()讀取xlsx
data <- read_xlsx("d:/data/ch01.xlsx",na="NA")

xlsx

依賴rJava,需要JAVA環境(JDK或JRE)

install.packages('xlsx',repois='https://mirrors.utsc.edu.cn/CRAN/)
library(xlsx)  #一般會報錯
  • 一般地,如果Windows系統中已經安裝了JDK或JRE,32位的用32位的R,64位的用64位的R,不會報錯。
  • JRE的jvm.dll位於/bin/client文件夾中。JDK的位於/JRE/server文件夾中。有人建議將jvm.dll所在的文件夾加入系統路徑,如下操作(本計算機中已經安裝了JRE1.8.0_131(32位),jvm.dll位於"client"文件夾中):
    我的計算機-右鍵-高級系統設置-環境變量,編輯“系統變量”中的Path,在前面加入"C:\Program Files (x86)\Java\jre1.8.0_131\bin\client;"
  • JDK包含了JRE!
  • JDK(Java SE)下載地址:
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • JRE(Java SE Runtime Environment)下載
    https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

加載xlsx報錯處理

  • 彈出"無法啟動此程序,因為計算機中丟失 jvm.dll。嘗試重新安裝該程序以解決此問題。"
    是因為在R文件前加入了類似如下的語句
    Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jre1.8.0_131/bin')
  • "No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures"
    用了64為的R調用32位的JAVA!用32位的R,一切正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM