背景
眾所周知爹脾,excel生成的文件后綴是xls或者xlsx毫深,早期讀取這樣的文件扇商,要么就另存為csv格式,要么就用readxls或者xlsx這樣的R包冤竹,可能會(huì)遇到Rjava報(bào)錯(cuò)的問(wèn)題》鞣猓現(xiàn)在有了一個(gè)優(yōu)秀的解決辦法,就是rio包鹦蠕。
1.編數(shù)據(jù)
它能夠兼容含有多個(gè)工作簿的xlsx文件冒签,非常巴適。
用R語(yǔ)言的內(nèi)置數(shù)據(jù)組個(gè)列表钟病。
l = list(iris = head(iris),
ToothGrowth = head(ToothGrowth))
l
## $iris
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 5.1 3.5 1.4 0.2
## 2 4.9 3.0 1.4 0.2
## 3 4.7 3.2 1.3 0.2
## 4 4.6 3.1 1.5 0.2
## 5 5.0 3.6 1.4 0.2
## 6 5.4 3.9 1.7 0.4
## Species
## 1 setosa
## 2 setosa
## 3 setosa
## 4 setosa
## 5 setosa
## 6 setosa
##
## $ToothGrowth
## len supp dose
## 1 4.2 VC 0.5
## 2 11.5 VC 0.5
## 3 7.3 VC 0.5
## 4 5.8 VC 0.5
## 5 6.4 VC 0.5
## 6 10.0 VC 0.5
2.將包含多個(gè)數(shù)據(jù)框的列表導(dǎo)出為xlsx
它就變成了含有多個(gè)工作簿的電子表格哦萧恕。
library(rio)
export(l,file = "test.xlsx",overwrite = T)
3.將含有多個(gè)工作簿的電子表格讀入到R語(yǔ)言
有import函數(shù)可以讀取各種類(lèi)型的文件刚梭,但對(duì)于xlsx它只識(shí)別第一個(gè)工作簿。用import_list讀取即可
l2 = import("test.xlsx")
l2
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 5.1 3.5 1.4 0.2
## 2 4.9 3.0 1.4 0.2
## 3 4.7 3.2 1.3 0.2
## 4 4.6 3.1 1.5 0.2
## 5 5.0 3.6 1.4 0.2
## 6 5.4 3.9 1.7 0.4
## Species
## 1 setosa
## 2 setosa
## 3 setosa
## 4 setosa
## 5 setosa
## 6 setosa
l3 = import_list("test.xlsx")
l3
## $iris
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 5.1 3.5 1.4 0.2
## 2 4.9 3.0 1.4 0.2
## 3 4.7 3.2 1.3 0.2
## 4 4.6 3.1 1.5 0.2
## 5 5.0 3.6 1.4 0.2
## 6 5.4 3.9 1.7 0.4
## Species
## 1 setosa
## 2 setosa
## 3 setosa
## 4 setosa
## 5 setosa
## 6 setosa
##
## $ToothGrowth
## len supp dose
## 1 4.2 VC 0.5
## 2 11.5 VC 0.5
## 3 7.3 VC 0.5
## 4 5.8 VC 0.5
## 5 6.4 VC 0.5
## 6 10.0 VC 0.5