R语言的文件读取小技能

使用R软件,解锁数据读取新姿势。

1.批量读取文件夹里面某类文件

library(data.table)

file_names<- list.files(pattern = ".csv")
for (i in 1:length(file_names)) { 
  name<-gsub(".csv","",file_names[i])
  assign(name,fread(file_names[i])
}

2.批量将文件夹某类文件读取进来并合并成一个数据框,要求数据规整

file <- list.files(pattern = ".csv")#正则表达式匹配文件后缀
names(file) <- files
data <- lapply(file, fread)
data0 <- do.call(rbind,data)

3.批量读取Excel中多个Sheet工作表合并到一个数据框里,同样要求数据规整。

install.packages("openxlsx")  
library(openxlsx)
aa <-NA
pb <- txtProgressBar(min = 0, max =2, style = 3)
for (i in 1:2){ 
mydata<-read.xlsx("###.xlsx", sheet = i, startRow = 1, colNames = T,
                  rowNames = FALSE, detectDates = FALSE, skipEmptyRows = TRUE,
                  skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,
                  namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)   
aa <- rbind(aa,mydata)  
setTxtProgressBar(pb,i)
}

4.批量写出全局环境中的数据

for (i in 1:length(ls()))
 {write.csv(eval(parse(text = ls(pattern = " ")[i])),
                  paste0(),na="",row.names=F)# paste0()定义文件名  
}

课程分享
生信技能树全球公益巡讲
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
B站公益74小时生信工程师教学视频合辑
https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
招学徒:
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,453评论 0 9
  • 大多数JAVA程序猿都选择使用POI或者HSSFWorkbook等第三方类库来实现Excel自动化合并,这样一来不...
    小黄鸭呀阅读 995评论 0 0
  • 在这个班级里,大家在一起学习。 第二周,都已经回到了学习的状态。 中午时,很多人都在努力的学习 尤其是坐在我旁边的...
    正常大鼠阅读 386评论 0 2
  • 今天是大年三十除夕夜,下午睡觉起来就见姥姥在准备年夜饭,而姥爷和妈妈就负责贴春联,我可开心了。我们准备了剪...
    鹿悦阅读 181评论 0 0
  • 雪与梦相似 雪是世界寂寞前做的梦 梦是人们狂欢后下的雪 人们因雪人而寂寞 世界因虚幻而狂欢 雪即是梦 梦即是你 ...
    昔迟阅读 476评论 0 1