匯出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" 可以避免亂碼問題,
像中文常常讀入後就會出現亂碼, 設定這個參數就沒問題了!!!
分享到此結束囉~~~祝大家 資料分析/投資之旅 開開心心~~