R|批量循环处理同一格式文件-csv,txt,excel
本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/8IfMrSr9xc8_1Y2_9Ne6hg
在一个文件夹下有很多字段一致,格式统一的数据文件(csv,txt,excel),可以使用R快速的统一成一个文件方便后续分析和处理。
数据准备
将需要处理的字段一致,格式统一的数据文件(csv,txt,excel),放到文件夹内,并将此文件夹设置为工作目录,下面分情况介绍如何批量读取并合并数据。
1)文件夹内只有一种格式的文件:csv,txt,excel;
2)文件夹内有多种格式的文件:csv,txt,excel以及其他的png,pdf等文件;
数据处理
1 仅有一种类型文件,此处以csv示例
设定工作目录,将需要处理的数据文件放到工作目录下
#查看当前路径下所有文件
a = list.files()
a
#命令构建路径变量dir(方便更改),也可以不构建,后面示例
dir = paste("./",a,sep="")
#读取dir长度,也就是文件夹下的文件个数
n = length(dir)
#读入第一个文件内容
merge.data = read.csv(file = dir[1],header=T,sep=",")
#循环从第二个文件开始读入所有文件,并组合到merge.data变量中
for (i in 2:n){
new.data = read.csv(file = dir[i], header=T, sep=",")
merge.data = rbind(merge.data,new.data)
}
#输出组合后的文件merge.csv到input文件
write.csv(merge.data,file = "./merge_all.csv",row.names=FALSE)
2 存在多种类型文件,仅读取csv格式文件
当工作目录下多种类型文件时,只读取其中一种
list.files()
#提出目录下的所有csv文件循环导入然后合并
a = list.files(pattern = ".csv")
#不构建路径变量,直接读入第一个文件内容
merge.data = read.csv(a[1],header=T,sep=",")
#循环从第二个文件开始读入所有文件,并组合到merge.data变量中
for (i in 2:n){
new.data = read.csv(a[i], header=T, sep=",")
merge.data = rbind(merge.data,new.data)
}
#输出组合后的文件merge.csv到input文件
write.csv(merge.data,file = "./merge_only_csv.csv",row.names=FALSE)
注:因txt文件亦可以直接用R基本读入方式读取,更改read.table即可,此处不举例。
3 存在多种类型文件,仅读取excel格式文件
因R不能直接读取excel文件,需要加载R包,个人习惯利用readxl包读取。
#install.packages("readxl")
library(readxl)
#另一种方式提出目录下的所有excel文件
list <- list.files()
a <- grep('\\.xlsx', list, value = TRUE)
n = length(a)
merge.data = read_excel(a[1])
#循环从第二个文件开始读入所有文件,并组合到merge.data变量中
for (i in 2:n){
new.data = read_excel(a[i])
merge.data = rbind(merge.data,new.data)
}
#输出组合后的文件merge.csv到input文件
write.csv(merge.data,file = "./merge_only_excel.csv",row.names=FALSE)
低时间投入成本,高效率回报
R|批量循环处理同一格式文件-csv,txt,excel的更多相关文章
- 导出CSV格式文件,用Excel打开乱码的解决办法
导出CSV格式文件,用Excel打开乱码的解决办法 1.治标不治本的办法 将导出CSV数据文件用记事本打开,然后另存为"ANSI"编码格式,再用Excel打开,乱码解决. 但是,这 ...
- csv,txt,excel文件之间的转换,perl脚本
最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&excel 和t ...
- vcf格式文件转化为Excel(csv)格式文件(R语言的write.csv,write.table功能,Excel表的文件导入功能)
最近在整理文件,准备把vcf文件转化为Excel格式,或者CSV格式,网上搜了一堆资料,还真有人专门开发出转化格式的工具:叫vcf2csv(下载地址http://vcf2csv.sourceforge ...
- Linux下批量解压.Z格式文件
下面的代码演示如何将当前目录下sj目录下的所有.Z格式文件解压到sj_result目录下. 代码示例: for file in `ls ./sj` do prefix=${file%.*} echo ...
- [R] venn.diagram保存pdf格式文件?
vennDiagram包中的主函数绘图时,好像不直接支持PDF格式文件: dat = list(a = group_out[[1]][,1],b = group_out[[2]][,1]) names ...
- Pandas系列-读取csv/txt/excel/mysql数据
本代码演示: pandas读取纯文本文件 读取csv文件 读取txt文件 pandas读取xlsx格式excel文件 pandas读取mysql数据表 import pandas as pd 1.读取 ...
- 【Python】通过python代码实现demo_test环境的登录,通过csv/txt/excel文件批量添加课程并开启课程操作--(刚开始 项目 页面 模块 元素这种鸟 被称作pageobject 等这些搞完 然后把你的定位器、数据 和脚本在分离 就是传说中那个叫数据驱动 的鸟)
一.1.通过csv文件批量导入数据 1 from selenium import webdriver from time import ctime,sleep import csv #循环读取每一行每 ...
- R—读取数据(导入csv,txt,excel文件)
导入CSV.TXT文件 read.table函数:read.table函数以数据框的格式读入数据,所以适合读取混合模式的数据,但是要求每列的数据数据类型相同. read.table读取数据非常方便,通 ...
- shell批量创建随机文件名格式文件
//随机生成文件 //文件名会带数字的...注意echo后面的是反引号,不是单引号 #!/bin/bash dir=/root/bp for i in 'seq 10' touch $dir`echo ...
随机推荐
- go struct 自定义标签获取
package main import ( "fmt" "reflect" ) type Test struct { Id int `json:"us ...
- arcgis python ValueTable使用
本文链接:https://blog.csdn.net/A873054267/article/details/86007125 #多值参数指定方式 1 python list类型 2 字符串类型,以逗号 ...
- SQL-W3School-函数:SQL UCASE() 函数
ylbtech-SQL-W3School-函数:SQL UCASE() 函数 1.返回顶部 1. UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELEC ...
- 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目
前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_07-用户认证-认证服务查询数据库-解析申请令牌错误信息
1.2.5.4 解析申请令牌错误信息 当账号输入错误应该返回用户不存在的信息,当密码错误要返回用户名或密码错误信息,业务流程图如下: 修改申请令牌的程序解析返回的错误: 由于restTemplate收 ...
- 【425】堆排序方法(二叉堆)优先队列(PQ)
参考:漫画:什么是二叉堆? 大根堆 小根堆 参考:漫画:什么是堆排序? 参考:漫画:什么是优先队列? 参考:[video]视频--第14周10--第8章排序10--8.4选择排序3--堆排序2--堆调 ...
- hadoop第一次面到hr(品友互动)
第一次“北漂” 准备了一个星期的Hadoop,把林子雨老师的视频刷了一遍,翻出了好久没用的小本本,密密麻麻的记了一大堆.刷了网上能找到的Hadoop的所有面试题(这个真的很重要) 然后,启程,北上,还 ...
- 原创:Mac AppleScript 自动登录两个QQ
前提,已有登录过的账号,且没有设置为自动登录 tell application "QQ" activate tell application "System Events ...
- 关于新小米盒子的Recovery模式如何进入
26日下的盒子订单,经过几经波折,终于在昨天来到了我的面前,新东西到手,难免少不了一些折腾:升级系统,安装软件等.一顿折腾之后,想完全恢复到出厂设置,给盒子清一下,想进入盒子的Recovery模式,按 ...
- charles 文件菜单总结
本文参考:charles 文件菜单总结 一.file(文件菜单) 需要注意的是 "导入"和"导出"这个功能在和别人沟通的时候用, 比如你向第三方工具/类库开发人 ...