工作中做數(shù)據(jù)分析的時(shí)候虽另,偶爾會(huì)需要將一些 Excel 文件導(dǎo)入到R中使用,每次都轉(zhuǎn)換成 csv 文件也不現(xiàn)實(shí)性含,而且不管是保存成 csv 還是 txt 文件,都只能保存當(dāng)前活動(dòng)工作表鸳惯。
這個(gè)時(shí)候商蕴,熟悉如何使用R語言讀取 Excel 文件就顯得很重要啦,不過還是建議數(shù)據(jù)交換使用 csv 文件芝发,具有通用性和準(zhǔn)確性绪商。
1、readxl 包
又是 Hadley Wickham 大神的杰作辅鲸!
主要包含read_excel()\read_xls()\read_xlsx() \ excel_sheets() 三個(gè)函數(shù)格郁,其中:
read_excel():讀取 xls 和 xlsx 文件;read_excel() 調(diào)用独悴,以根據(jù)文件擴(kuò)展名和文件本身的順序 excel_format() 確定 path 是 xls 還是 xlsx例书。如果您更了解并希望避免此類猜測(cè),請(qǐng)直接使用 read_xls() 和 read_xlsx()刻炒。
excel_sheets():列出Excel電子表格中的所有工作表;
使用示例:
> #加載包
> library(readxl)
> #讀取Excel文件第一個(gè)sheet數(shù)據(jù)
> data <- read_excel('/Users/user/Desktop/慶余年人物.xlsx',sheet = 1)
> #讀取Excel文件內(nèi)sheetname='大宗師'的數(shù)據(jù)
> data <- read_excel('/Users/user/Desktop/慶余年人物.xlsx',sheet = '大宗師')
> #讀取Excel文件內(nèi)前3行數(shù)據(jù)
> data <- read_excel('/Users/user/Desktop/慶余年人物.xlsx',n_max = 3)
> #讀取Excel文件內(nèi)A1:B3塊數(shù)據(jù)
> data <- read_excel('/Users/user/Desktop/慶余年人物.xlsx',sheet = 1,range = 'A1:B3')
> #讀取Excel文件內(nèi)A:B列數(shù)據(jù)
> data <- read_excel('/Users/user/Desktop/慶余年人物.xlsx',sheet = 1,range = cell_cols("A:B"))
> #列出Excel文件中的所有工作表;
> excel_sheets('/Users/user/Desktop/慶余年人物.xlsx')
[1] "人物" "大宗師"
2决采、openxlsx 包
提示:僅使用于 .xlsx 文件!7匕隆树瞭!
提示:僅使用于 .xlsx 文件!0晒喷!
提示:僅使用于 .xlsx 文件!7玫小凉敲!
重要的話說三遍!K峦荡陷!
重要的話說三遍!Q镐獭废赞!
重要的話說三遍!69谩唉地!
使用示例:
# 加載包
library(openxlsx)
# 默認(rèn)讀取sheet1的數(shù)據(jù)
data <- read.xlsx('/Users/user/Desktop/慶余年人物.xlsx')
# 讀取Excel文件內(nèi)sheetname='大宗師'的數(shù)據(jù)
data <- read.xlsx('/Users/user/Desktop/慶余年人物.xlsx',sheet = '大宗師')
參數(shù)設(shè)置同 readxl 大同小異据悔,具體可以使用 help(openxlsx) 函數(shù)參看參數(shù)設(shè)置。
help(openxlsx)
read.xlsx(xlsxFile, sheet = 1, startRow = 1, colNames = TRUE,
rowNames = FALSE, detectDates = FALSE, skipEmptyRows = TRUE,
skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,
namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)
網(wǎng)上還有很多方法去讀取 Excel 文件耘沼,例如:xlsx 包极颓、 ROBDC 包、復(fù)制剪切板等群嗤,但相比較實(shí)用性和簡(jiǎn)潔性來說菠隆,我覺得 readxl 包和 openxlsx 包都是我目前工作中的首選,畢竟狂秘,高效骇径、簡(jiǎn)潔才是王道。
通過三遍文章者春,把工作中R語言獲取數(shù)據(jù)的幾個(gè)情形都梳理了一遍破衔,希望對(duì)大家有幫助,因?yàn)椴还苁菙?shù)據(jù)分析還是數(shù)據(jù)建模钱烟,數(shù)據(jù)都是最重要的晰筛,希望大家在數(shù)據(jù)工作中,都能夠順利拴袭。
歷史系列文章見下:
R語言獲取數(shù)據(jù)1:從文本文件獲取數(shù)據(jù)
R語言獲取數(shù)據(jù)2:連接數(shù)據(jù)庫