运用R语言处理数据时总会遇到大批量excel数据读取和写入的问题,以R中的iris数据集举例,主要有以下几种形式(直接上代码):
读入数据:
1.将多个excel数据批量读入R环境中(读入csv格式文件为例):
#将D盘data文件夹下的"setosa","versicolor","virginica"批量读入R环境下KK集中#
bb<-c("setosa","versicolor","virginica")
kk<-list()
for(i in 1:length(bb)){
kk[[i]]<-read.csv(paste0("D://data",bb[i],".csv"),header=T)
}
2.将一个excel中的多个sheet表批量读入R环境中(读入xlsx格式为例)
#将D盘data文件夹下result文件中的"setosa","versicolor","virginica"等sheet批量读入R环境下KK集中
library(readxl)
bb<-c("setosa","versicolor","virginica")
kk<-list()
for(i in 1:length(bb)){
kk[[i]]<-read_xlsx("result.xlsx",sheet = i)
}
写出数据:
3.将R数据处理结果批量导出到多个excel中(输出csv格式为例):
library(dplyr)
bb<-c("setosa","versicolor","virginica")
ll<-list()
for(i in 1:length(bb)){
ll[[i]]<-filter(iris,Species==bb[i])
}
names(ll)<-c(bb)
for(i in 1:length(ll)){
write.csv(ll[[i]],file = paste0("There is",bb[i],".csv"))
}
4.将R数据处理结果批量导出到同一个Excel的多个sheet中(输出xlsx格式为例):
library(openxlsx)
ll<-list()
for(i in 1:length(bb)){
ll[[i]]<-filter(iris,Species==bb[i])
}
names(ll)<-bb
write.xlsx(ll,file="result.xlsx")