「灌水系列」 ?這是一個朋友提的問題,R語言中有多個數(shù)據(jù)框,本來是一個數(shù)據(jù)框?qū)懭胍粋€Excel表。但是現(xiàn)在想要寫入到一個Excel表中,畢竟Excel才是最通用的軟件,把每個數(shù)據(jù)框?qū)懭隕xcel不同的sheet表。 ? 問題解決「代碼演示」代碼解釋: - 然后載入
openxlsx 軟件包,主要是用于導出Excel格式 - 重點是建立一個list,每個元素就是一個sheet,名稱就是sheet的名稱
- 然后使用
write.xlsx 函數(shù)輸出list對象即可
aa<-data.frame(id = 1:5,y = rnorm(5)) bb<-data.frame(id = 1:7,y = rnorm(7)) aa bb
# install.packages("openxlsx") # 如果沒有openxlsx包,運行該命令 library(openxlsx) sheets = list("我是aa" = aa,"我是bb" = bb) write.xlsx(sheets,"d:/我是輸出結(jié)果.xlsx")
「結(jié)果展示:」可以看到: - sheet表的名稱為“我是aa”,“我是bb”

問題舉一反三「代碼延申」如果是有多個sheet表,想要批量讀取,批量輸出到Excel表中,可以使用for循環(huán)操作: 代碼解釋: list1 = list() for(i in 1:10){ list1[[i]] = data.frame(ID=1:10,y=rnorm(10)) } n = length(list1) n
names(list1) = paste0("我是","sheet",1:n) list1 write.xlsx(list1,"d:/我是批量sheet表.xlsx")
「結(jié)果視圖:」 創(chuàng)造更多問題如果你有一個Excel表,有幾十個sheet表,這些表結(jié)構(gòu)都相似,如果批量讀入到R中,然后批量操作,最后再批量導出? 「熟悉的味道……」 ?朋友圈中各種python培訓的軟文,都在講如何批量的處理,R語言是這樣實現(xiàn)的,我?guī)熜諩xcel很溜,自己編寫了一套宏,從來看不上R語言,說我是”人為增加學習成本,Excel不香么???“ ? 「所以自問自答的寫作風格是如何練成的?」 ?寫公眾號時,就能發(fā)現(xiàn)日子是一成不變的,沒有話題,沒有動力,如何給自己找事情,需要自言自語。往高了說是”自省吾身“,往低了說是”江郎才盡“。所以寫一些東西,給自己出出題,然后自己解答,然后自己翻車…… ? 「下節(jié)預告:」 - Python中
批量 讀入Excel的不同sheet表格 - Python中
批量 寫入Excel的不同sheet表格
?不加上”批量“二字,體現(xiàn)不出編程語言的氣質(zhì)! ? 「上面的三個題目,可以寫三篇博文」 ?灌水哪家強,飛哥來上場,田里蟲兒飄,地面變汪洋…… ? 快來關注我吧! 雖然水平不是最好的, 段子肯定是最好的, 雖然不是最專業(yè)的, 肯定是最有意思的。
|