R語言讀取xls與xlsx格式文件過程

在數據分析的過程中,第一步就是讀取數據。

通常我們遇到的數據是csv格式或者txt格式的數據,這時我們使用系統自帶的read.csv()read.table()就可對這些格式的數據進行讀取,隻是讀取時需註意編碼格式。對於大型csv格式的數據(當然小數據也可以),可以使用data.table包中的fread()進行讀取可以極大地提升讀取速度。

但當遇到瞭Excel表生成的文件,讀取起來相對就沒有那麼友好。之前的做法是簡單粗暴地直接將我們的xls或xlsx文件利用Excel轉化為csv文件後再進行讀取,亦或者直接就用Python使用pandas庫進行處理,然後就在Python中進行分析。

就是由於之前幾次碰壁,使用網上推薦的一些包來進行讀取,但都以失敗告終。不過這次還是決定解決這個“頑疾”,對xls與xlsx這兩種文件用R進行讀取。

這幾種方法主要參考:Read Excel files from R

1. ROOBC

這個包中有函數可以讀取xlsx格式的文件,但對於現在的我們而言,絕大多數人的電腦都不能使用這個包,因為其隻能用於32位系統的Windows,所以這裡不對這個包進行贅述。

2. xlsReadWrite

隻能從GitHub中獲得,CRAN上還沒有,也不進行過多的贅述。

3. XLConnect

要依賴java,並且對於大數據情況讀取非常慢。但實際上自己使用的時候,安裝瞭java後,還是沒法使用這個包。可能是某些步驟設置出現瞭問題。

若有童鞋對前面的三個包非常感興趣,其詳細的用法可以參考前面的參考網址。

4. xlsx

這個包是目前用的最多,也是R中可以說最好用的讀取Excel文件的利器。

下面專門對其進行介紹。首先我們先說明這個包的依賴文件,不僅僅隻是依賴R中的一些包,而是需要單獨安裝java。

1)裝Java

安裝鏈接:https://www.java.com/zh_CN/download/

我們按照指引選擇默認路徑安裝,安裝完成後,在C:\Program Files下出現瞭Java文件,說明安裝成功。(註:有些地方說需要將Java文件添加到全局變量中,後面的xlsx包才能調取成功,但其實在這兩天的實際安裝中發現,自己的電腦並不需要,可能得看臉。)

2)裝xlsx

安裝xlsx其實沒什麼好說的,就正常安裝,然後它會自動將所需要的rjava等依賴庫,最後成功安裝xlsx庫。

3)實際使用

最後我們就能直接使用啦,下面來講一下其代碼格式:

library(xlsx)
dat <- read.xlsx("data.xlsx", sheetName = "Sheet1", encoding = 'UTF-8')

一個標準的數據讀取如上所示,下面將幾個常用的參數:

"data.xlsx":表示讀取數據的名稱。

sheetName:表示讀取表中表的名稱,通常第一個就是Sheet1

encoding:這個在讀取中文數據的時候是一定要加上的,不然讀取數據會出現亂碼。

sheetIndex:表示讀取文件中第幾個表,sheetIndex = 1表示讀取文件中第一個表。

需要特別註意:當文件中我們的表明為中文字時,不能使用類似sheetName = “表1″進行讀取,即使加上encoding = 'UTF-8'也會出現讀取錯誤,這時就需要使用sheetIndex來進行讀取。

以上就是R語言讀取xls與xlsx格式文件過程的詳細內容,更多關於R讀取文件的資料請關註WalkonNet其它相關文章!

推薦閱讀: