這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)openxlsx包批量導(dǎo)入導(dǎo)出Excel文件的實(shí)用技巧是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)阜新免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
install.packages("openxlsx")library("openxlsx")
導(dǎo)出excel文件
導(dǎo)出excel文件使用的是write.xlsx函數(shù),通過(guò)介紹我們可以看到該函數(shù)主要是將數(shù)據(jù)框?qū)С鰹閤lsx文件,同時(shí)由于excel可存在多個(gè)sheet,該函數(shù)也支持導(dǎo)出a list of data.frames。
因此命令如下:
l <- list("IRIS" = iris, "MTCARS" = mtcars) # 將R內(nèi)置數(shù)據(jù)集iris和mtcars創(chuàng)建為listwrite.xlsx(l, "writeList.xlsx") #excel文件導(dǎo)出在該目錄下并命名為writeList.xlsx# 要導(dǎo)出單個(gè)文件時(shí),直接write.xlsx(變量名稱,“保存位置與文件名")即可
可以看到最后導(dǎo)出的excel存在IRIS和MTCARS兩個(gè)sheet
導(dǎo)入excel文件
文件的導(dǎo)入是使用read.xlsx函數(shù),使用的方法也非常簡(jiǎn)單,主要設(shè)置excel的文件位置以及sheet名稱或順序(如果存在多個(gè)sheet)
比如導(dǎo)入我們剛剛創(chuàng)建的excel文件中的第一個(gè)sheet,則命令為
iris <- read.xlsx(xlsxFile = "writeList.xlsx", sheet = 1)# 或者iris <- read.xlsx(xlsxFile = "writeList.xlsx", sheet = "IRIS")
批量導(dǎo)入excel文件中的多個(gè)sheet
上述命令只能導(dǎo)入excel的一個(gè)sheet,在實(shí)際過(guò)程中可能需要一次性導(dǎo)入多個(gè)sheet,則可以使用循環(huán)函數(shù)實(shí)現(xiàn):
data.list <- list() # 創(chuàng)建一個(gè)空的listsheetname <- getSheetNames("writeList.xlsx") #使用getSheetNames函數(shù)獲取excel文件的sheet名稱for(i in 1:length(sheetname)){ data.list[[i]]<-read.xlsx("writeList.xlsx",sheet=i) # 循環(huán)讀取excel文件的每個(gè)sheet names(data.list)[i] <- sheetname[i] #將data.list的每個(gè)文件名命名為每個(gè)sheet的名字}
批量導(dǎo)入多個(gè)excel文件
有時(shí)需要將目錄下的多個(gè)文件一次性導(dǎo)入R中,則可以使用如下命令實(shí)現(xiàn),但是需注意的是該命令只支持每個(gè)excel只有一個(gè)sheet
myexcelfile = list.files(pattern="*.xlsx") # list.files函數(shù)中用正則表達(dá)式匹配文件名的一個(gè)選項(xiàng)list2env( lapply(setNames(myexcelfile, make.names(gsub("*.xlsx$", "", myexcelfile))), read.xlsx), envir = .GlobalEnv) #匹配以.xlsx結(jié)尾的文件名,將其替換為空,也就是去掉.xlsx,只留文件名作為變量名
批量導(dǎo)入多個(gè)txt或者excel文件
同理我們可以利用該命令批量導(dǎo)入csv或者txt文檔
mytxtfile = list.files(pattern="*.txt") # 生成.txt文件的列表list2env( lapply(setNames(mytxtfile, make.names(gsub("*.txt$", "", mytxtfile))), read.table,header=TRUE,sep="\t"), envir = .GlobalEnv) mycsvfile = list.files(pattern="*.csv") # 生成.csv文件的列表list2env( lapply(setNames(mycsvfile, make.names(gsub("*.csv$", "", mycsvfile))), read.csv,header=TRUE,check.names=FALSE), envir = .GlobalEnv)
上述就是小編為大家分享的openxlsx包批量導(dǎo)入導(dǎo)出Excel文件的實(shí)用技巧是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:openxlsx包批量導(dǎo)入導(dǎo)出Excel文件的實(shí)用技巧是什么
URL標(biāo)題:http://chinadenli.net/article22/ppshcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、云服務(wù)器、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站制作、定制網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)