数据文件的读写—R实现
数据文件的读写
在R语言中可以读写的最基本的数据格式就是text,以及csv文件。用read.table()或者read.csv函数就可以,相应的写入函数是write.table(),write.csv()。对于其它的格式文件,R语言有相应的包支持,我们最经常用的xlsx格式需要导入library(openxlsx)

一、准备工作
为方便后面使用的相对路径,我们先使用“setwd(路径)”设置路径,设置好之后可以用“getwd()” 获取当前路径进行检查。
getwd() #获得当前工作路径,即数据文件的工作场所,R的工作环境
setwd(路径) #设置工作路径 以便R能找到你的数据文件
读取文件函数简介
read.table(file, header = FALSE, sep = "", quote = "\"'", dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
row.names, col.names, as.is = !stringsAsFactors,na.strings = "NA", colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#",allowEscapes = FALSE, flush = FALSE,
stringsAsFactors = FALSE,fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
#file 文件路径 #sep 分隔符 #header
第一行是不是列名(如果第一行是列名导入的时候填TRUE;默认值是FALSE,即把第一行算作数据)
注意数据分隔符:
因为数据有时候是从数据库导出或者.xlsx里截取等等,所以有时候看起来是空白分隔却有着不一样的格式。
常见空白分隔符有:空格,制表符,换行符。sep=” ”;sep = “\t”;sep = “\n”
二、读数据
这个比较简单,直接调用函数即可,参数就是 文件的路径,当然还有其它的一些参数,自行试一试就知道了。如果不太清楚有哪些参数的,调用help函数看一下就ok了。当我们读入的是其它的格式文件时也需要加载相应的包。
2.1 读取TXT数据
将工作路径调制要导入文件所在的文件夹下,之后输入.txt的文件名和分隔符就可以导入数据了。
data1 <- read.table('test.txt',sep = '\t',header = TRUE)
data1
2.2 读取CSV文件
data2 <- read.csv('countrylanguage.csv',TRUE)
head(data2,6)
2.3 读取Excel文件
R语言是一个大小写敏感的语言,加载好openxlsx包就可以开始读取Excel文件了。
(1)从剪贴板导入
先打开Excel,选中需要的数据后复制,然后再R中输入以下的指令:data.excel =read.xlsx("clipboard") #clipboard剪贴板
data3 <- read.table("clipboard",header=T)
data3
(2)从Excel文件导入
#install.packages("openxlsx")
library(openxlsx)
dada4<- read.xlsx(file,sheet=1)
data4
2.4 批量读取多个 Excel 文件
批量读取的数据文件往往具有相同的列结构(列名、列类型),读入后紧接着需要按行合并为一个数据框。批量读取并合并,道理很简单,总共分三步:获取批量数据文件的路径;循环机制批量读取;合并成一个数据文件。
library(purrr)
library(readxl)
files = list.files("C:/Users/hao'hai/Documents", pattern = "xlsx",full.names = TRUE, recursive = FALSE) #查找指定路径下的EXCEL文件
#[1] "C:/Users/hao'hai/Documents/hh1.xlsx"
#[2] "C:/Users/hao'hai/Documents/hh2.xlsx"
#[3] "C:/Users/hao'hai/Documents/hh3.xlsx"
df = map_dfr(set_names(files), read_xlsx, .id = " 来源") #合并路径下的EXCEL文件数据为df
df #查看合并数据
# `来源` 年龄 性别 风险 专兼职 职业 教育 结果
# <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#1 C:/Users/hao'hai/Documents/hh~ 30-39 女 无 专职 无业 研究~ 持平
#2 C:/Users/hao'hai/Documents/hh~ 30-39 男 有 兼职 干部 文盲 持平
#3 C:/Users/hao'hai/Documents/hh~ 30-39 男 有 兼职 干部 文盲 持平
三、写入数据文件
3.1 写入函数简介
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ", eol = "\n", na = "NA", dec = ".", row.names = TRUE,col.names = TRUE, qmethod = c("escape", "double"), fileEncoding = "")
可以保存成任意符号分隔的文件write.table(data,file,sep),保存成文件的类型要自己以扩展名的方式写在‘file'字段里,比如test.csv,test.doc,test.xlsx,write.table()和write.csv()就可以完成。比较实用的参数就是列名col.name,行名row.name,以及引号quote,一般我们输出的数据有引号,如果想去除的话把quote设置为F就好。其它格式文件类似。
3.2 写入CSV文件
# 写入文件
data(iris)
write.csv(iris,file = "mydata.csv",row.names = F)
# 读文件
data4<-read.table("mydata.csv",header=T, sep=",")
head(data4)
3.3 写入Excel文件
aa<-data.frame(id = 1:5,y = rnorm(5))
bb<-data.frame(id = 1:7,y = rnorm(7))
# install.packages("openxlsx") #如果没有openxlsx包,运行该命令
library(openxlsx)
sheets = list("我是aa" = aa,"我是bb" = bb)
write.xlsx (sheets,"我是输出结果.xlsx")
四、总结
这篇文章主要介绍R语言文本文件读写(txt/csv/xlsx),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。

参考文献
- (R语言 数据的读写)[https://blog.csdn.net/xiaonanxinyi/article/details/103080589]
- (R语言-如何循环读取excel并保存为RData)[https://www.yht7.com/news/140857]
- (R语言新书】2.2 数据读写)[https://zhuanlan.zhihu.com/p/256284851]
数据文件的读写—R实现的更多相关文章
- Python基础 | 数据文件的读写
目录 txt txt的读入 txt的写出 csv xls\xlsx 在线网页数据 常用的工具 爬虫的步骤 pdf pdfrw PyPDF2 提取文档信息 word文档 其他统计软件生成文件 本文总结使 ...
- 营销MM让我讲MySQL日志顺序读写及数据文件随机读写原理
摘要:你知道吗,MySQL在实际工作时候的两种数据读写机制? 本文分享自华为云社区<MySQL日志顺序读写及数据文件随机读写原理>,作者:JavaEdge . MySQL在实际工作时候的两 ...
- Numpy数组数据文件的读写
一.引言 读写数据文件的重要性就不必多说了. 二.读取列表形式数据的文件 1.我们写几行CSV格式(列表形式,两值之间逗号隔开)的数据. id,height,age 1,175,20 2,168,18 ...
- Java 对不同类型的数据文件的读写操作整合器[JSON,XML,CSV]-[经过设计模式改造](2020年寒假小目标03)
日期:2020.01.16 博客期:125 星期四 我想说想要构造这样一个通用文件读写器确实不容易,嗯~以后会添加更多的文件类型,先来熟悉一下文件内容样式: <?xml version=&quo ...
- MATLAB中文件的读写和数据的导入导出
http://blog.163.com/tawney_daylily/blog/static/13614643620111117853933/ 在编写一个程序时,经常需要从外部读入数据,或者将程序运行 ...
- python 基础-文件读写'r' 和 'rb'区别
原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...
- Python数据分析之Pandas读写外部数据文件
1 引言 数据分析.数据挖掘.可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt.csv.excel.数据库.本篇中,我们来捋一捋 ...
- C语言的fopen函数(文件操作/读写)
头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为: FILE * fopen(const char * path, c ...
- rsync+sersync实现数据文件实时同步
一.简介 sersync是基于Inotify开发的,类似于Inotify-tools的工具: sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字: ...
- 从零开始学C++之IO流类库(三):文件的读写、二进制文件的读写、文件随机读写
一.文件的读写 如前面所提,流的读写主要有<<, >>, get, put, read, write 等操作,ofstream 继承自ostream, ifstream 继承自 ...
随机推荐
- this和箭头函数的this
https://www.cnblogs.com/lfri/p/11872696.html https://www.ruanyifeng.com/blog/2018/06/javascript-this ...
- 一招彻底解决——双系统下windows时间错误显示
双系统下windows与ubuntu系统时间不同步 我的笔电是windows系统,工作需要安装了ubuntu,于是成为双系统,于是从18年我就遇到了装了ubuntu系统之后windows时间显示错误的 ...
- centos7(虚拟机)下安装nginx
centos7(虚拟机)下安装nginx 安装前准备 gcc yum install gcc-c++ pcre yum install -y pcre pcre-devel zlib yum inst ...
- 如何安装vm虚拟机软件并用该软件建立虚拟机
一.安装vm虚拟机软件 1.双击打开虚拟机应用程序 找到VM应用程序所在的位置,双击安装 2.根据向导安装 根据提示点击下一步 点击安装之后耐心等待一会,会出现需要输入许可证的的界面,这时候不要关闭界 ...
- poi读取Excel文件,数字变成科学计数法及数字自动带上“.0”的处理办法
解决poi解析excel遇到数值类型科学计数问题 NumberFormat nf = NumberFormat.getInstance();HSSFCell cell= hssfRow.getCell ...
- setter注入--简单类型
UserDaoImpl中的代码,实现对name和age的注入 private String name; private int age; public void setName(String name ...
- CSS vw与vh动态设置元素的高度宽度
做为一个前端开发者,总有一天我们要设置页面某一部分内容自适应浏览器窗口大小,下面分享下使用vw和vh的设置方式, 一波解释: v(即viewport):可视窗口,也就是浏览器窗口大小.vw Viewp ...
- jetson TX2 + opencv3.4 + python3 + 双目 +人脸检测
淘宝看到一款很便宜的双目,150元,就买了.想着用它学习一下opencv,好换个工作.当然,也想着能否用它做一些好玩的,比如三维重建之类高大上的东西.先用便宜的入个门,等以后眼界高了再看是不是买那些更 ...
- Maven-高级
Mvaen 高级 1 导入其他工程 资源文件 先install到仓库里 然后根据组织名项目名版本号写在dependence里正常导入 <dependence> <groupId> ...
- 转:MyBatis 日志打印
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012666996/article/details/79106599Mybatis SQL语句控制台 ...