本篇內(nèi)容介紹了“R語言怎么讀取xlsx文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
關于R語言讀取Excel文件,比較麻煩,我從來都反對直接讀取xlsx文件,因為爬蟲數(shù)據(jù)時,一般保存的格式都是csv文件,或者直接保存到數(shù)據(jù)庫里面,沒有誰會保存到Excel文件里面。不管是txt文本文件,還是csv逗號分割符文件,都是可用R自帶函數(shù)讀取的,即使對于一般不太大的文件,我們可以將其打開另存為csv文件,當然了,Excel對于超過100萬條的數(shù)據(jù),也不一定是100萬條,這與每一行數(shù)據(jù)量多少還是有關的,我是沒有見過幾百萬條的Excel文件的,xlsx表格文件一般是拿來做商務報表的,應該沒有幾百萬行的數(shù)據(jù)吧!
成都創(chuàng)新互聯(lián)是一家集成都網(wǎng)站設計、成都網(wǎng)站建設、網(wǎng)站頁面設計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站制作公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設服務。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務才是根本,我們始終堅持講誠信,負責任的原則,為您進行細心、貼心、認真的服務,與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
R語言讀取csv文件
廢話不多說,這里還是介紹一下怎么讀寫xlsx文件吧,畢竟很多人都有強迫癥,非要直接讀取xlsx文件,尤其是學習數(shù)學的,意志力很堅強!
R語言想要處理xlsx文件,需要第三方包xlsx包,而xlsx包又依賴rJava包,因為寫xlsx包的這個大牛不想重復造輪子,直接調(diào)用了rJava包中的函數(shù),而rJava包需要java環(huán)境,所以總結起來需要完成以下三步:
安裝jdk提供java語言的開發(fā)和運行環(huán)境,其實只需要運行環(huán)境jre就行了;
安裝rJava包;
安裝xlsx包安裝jdk1、去java官網(wǎng)下載jdk安裝包,網(wǎng)址:www.java.com或者www.oracle.com都是可以的,java與jdk的關系可以理解為C語言與VC++的關系,我就這樣解釋。有了安裝包,就可以安裝了,根據(jù)安裝向?qū)О惭b即可
2、配置java環(huán)境變量
為什么需要配置環(huán)境變量,需要讓系統(tǒng)運行R語言需要java時能夠找到java環(huán)境。
我的jdk版本是jdk1.8.0_144
比如我的jdk安裝路徑是:D:\Program Files\Java\jdk1.8.0_144\bin
右鍵我的電腦==>屬性==>高級系統(tǒng)設置==>環(huán)境變量
新建系統(tǒng)變量(用戶變量也行)JAVA_HOME=D:\Program Files\Java\jdk1.8.0_144
在path變量開頭加入%JAVA_HOME%\bin;,記得打分號,養(yǎng)成習慣,這樣bin目錄下面的二進制java.exe可執(zhí)行文件就被系統(tǒng)知道,win+R組合鍵輸入cmd,進入命令行,然后輸入java -version顯示jdk版本,表明java環(huán)境配置成功!安裝rjava包 安裝xlsx包總結:只要java環(huán)境配置成功,安裝rJava、xlsx這兩個包是肯定成功的,屢試不爽,不同系統(tǒng),我都整過好幾次,沒有出過意外的。就是這么簡單。
安裝好了之后,我們就可以開心的操作xlsx文件了。
導入包
這個xlsxjars包是會隨著xlsx包的自動下載導入同時進行的,不用擔心。
我D盤根目錄下面有一個xlsx文件,把它讀取一下:
第一個參數(shù)表示文件名,第二個表示要讀取的SheetIndex,因為有的xlsx表可能有多個sheet表,就像這樣:
這樣寫的話,參數(shù)位置不需要一一對應,因為你指定了參數(shù)名稱,如果省略了,就需要與默認參數(shù)位置一一對應。
寫入數(shù)據(jù):就在工作空間D:\\下面產(chǎn)生了一個test2.xlsx文件,內(nèi)容就是dat的數(shù)據(jù)內(nèi)容。
還是打開看一下:
關于R語言讀取xlsx文件,就是這么多,我是強烈不贊成直接讀取的,強迫癥,耗人力、耗時間、耗內(nèi)存資源!
建議:讀取xlsx文件,還是這么做吧:
1)、xlsx文件另存為csv文件;
2)、R讀取csv文件即可,read.csv(path,header) ;