匯出txt 及 csv的文章請參考逗滾的其他篇文章

學會Excel檔案的匯出會匯入相當重要, 因為台灣很多公開資訊的資料都是存成Excel檔的!!

就讓我們好好認識這些語法吧

########################正文開始########################

第一步是先確認你有沒有安裝了package: xlsx

請使用R指令:

    library(xlsx)

載入package xlsx

如果出現如下訊息:

    > library(xlsx)
    Error in library(xlsx) : there is no package called ‘xlsx’

 

那就是你的R跟逗滾依樣還沒安裝過xlsx package

所以第二步, 安裝xlsx

使用指令

    install.packages("xlsx")

 

他會你選一個 CRAN 鏡像

為了愛逮玩....把滾輪滾到最後可以看到mirror畫面如下:

點進去後, 往下拉, 就可以看到台灣的選項, 我是選台北

你就會看到他在執行安裝的畫面,

 

最後R的 Console畫面應該是:

有看到倒數第三行到倒數第五行裡的字嗎?

   successfully .....成功....Ya

R的package有 lazy install功能,

也就是我們要安裝xlsx, 他會很大心地自動幫我裝其他需要的package(s)

然後趕快來測試一下xlsx能不能用了

輸入指令

    library(xlsx)

然後你就會看到......報錯畫面........悲劇了

R跟我們說 rJava不能載入使用.........

這其實是因為我們的電腦環境還沒設定好,

解決辦法請參考逗滾的另外一篇文章: [R] 如何解決 rJava 無法正常載入問題

此外, 如果你發現你要安裝packages時, 出現  "is not writable"  警告時, 可能是安裝時不是用管理員身分安裝,

這時關掉R, 然後到R的捷徑, 按右鍵, 選擇以"以系統管理員身分執行(A)" 就可以安裝成功了

如下圖所示:

一切都處理好後, 重新下指令 library(xlsx)

成功畫面如下:

 

接下來就是使用程式碼了!!!!

語法如下:

     read.xlsx(file=Table_Names,sheetIndex=1,startRow = 3,endRow = 26,header = F,colIndex =3:5,encoding = "UTF-8"))
 

參數解釋如下:

1.file就是要放你的excel檔案存放的地方

   我的路徑名是Table_Names這個變數

   實際路徑是這一個 "D:\\AIS\\DF\\HC government data\\10605.xlsx"

2.sheetIndex是要讀取excel哪一個sheet

   別忘了, Excel可以放好多個sheet, 所以你要跟R說你要讀取那一個sheet

   如果你的第一個sheet已經改了名子, 比如說 "AAA"

   那這一個位子你也可以直接寫 sheetIndex="AAA", 這樣也是可以讀取的

3.startRow是你要讀取的第1筆資料所在列

  我這個例子是從第3列開始讀

4.endRow是你要讀取的最後一筆資料所在列

  我這個例子是第26列為要讀取的最後一列

5.header是指你在startRow的那一列要當成變數名稱嗎?

   如果是header=F, 他就不會把startRow當作變數名稱讀進來

6.ColIndex試紙你要讀取的所在行

   可以跳著讀, 比如你要的資料在第 1,2,3,4及8行,

   那你就可以寫成ColIndex=c(1:4,8)

   如此, 合併儲存格問題也可以輕鬆解決

   要提醒您的一件事是, 如果合併儲存格是合併第4與第5行,

   用R讀取資料時, 你只要用ColIndex=4, 就可以讀到這一個合併儲存格資料了

7.encoding是為了處理匯入後發生亂碼問題的參數

   encoding="UTF-8" 可以避免亂碼問題,

   像中文常常讀入後就會出現亂碼, 設定這個參數就沒問題了!!!

 

分享到此結束囉~~~祝大家 資料分析/投資之旅 開開心心~~

arrow
arrow

    逗滾仔 發表在 痞客邦 留言(1) 人氣()