今天笔记的主要学习内容是R语言里文件相关知识,包含CSV、Excel、XML、JSON、MySQL等。

CSV文件

基本介绍

CSV(Comma-Separated Values,字符分隔值,分隔字符也可以不是逗号)是一种非常流行的表格存储文件格式,这种格式适合储存中型或小型数据规模的数据。

CSV 本质是文本,格式简单:数据一行一行的用文本保存,每条记录被分隔符分隔为字段,每条记录都有同样的字段序列。

  • 规则:

1 开头是不留空,以行为单位。

2 可含或不含列名,含列名则居文件第一行。

3 一行数据不跨行,无空行。

4 以半角逗号(即,)作分隔符,列为空也要表达其存在。

5 列内容如存在半角引号(即"),替换成半角双引号(“”)转义,即用半角引号(即"")将该字段值包含起来。包含逗号, 双引号, 或是换行符的字段必须放在引号内。

6 文件读写时引号,逗号操作规则互逆。

7 内码格式不限,可为 ASCII、Unicode 或者其他。

8 不支持数字

9 不支持特殊字符

注意: CSV 文件最后一行需要保留一个空行,不然执行程序会有警告信息。

读取方法

read.csv()函数来进行读取,返回的结果为数据框格式。

data <- read.csv("xxx.csv", encoding="UTF-8")
# encoding默认为操作系统文字编码GBK,这里统一为UTF-8防止出错。
print(data)

读取后可以对数据进行查看,例如查看行数、列数,查询某列最大值、指定值,筛选等操作。

#输出data中col列的最大值
max_number = max(data$col)
#输出data中cola列等于xx同时colb列小于mm的数据。
out_n = subset(data,cola == xx & colb < mm )

保存方法

write.csv(待输出文件,文件路径) 函数将数据保存为csv文件。待保存的数据最好是数据框形式。

write.csv(data,"data.csv",row.names = FALSE)
# 将data数据输出保存为csv文件
# row.names = FALSE 表示不添加行名,默认为TRUE,一般不需要开启。

Excel文件

基本介绍

Excel是我们熟知的一种数据文件格式,非常通用,R语言中读写 Excel文件需要安装扩展包"xlsx"。

install.packages("xlsx", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library("xlsx")

几乎所有的 Excel 软件与大多数表格软件一样支持 CSV 格式的数据,所以完全可以通过 CSV 与 R 交互,没必要再使用 Excel。

读取方法

# 读取 xxx.xlsx 第一个工作表数据
data <- read.xlsx("xxx.xlsx", sheetIndex = 1)
print(data)

保存方法

write.xlsx(
x,  #data.frame格式的待保存文件
file,  #保存路径
sheetName="Sheet1",  #工作表名称
col.names=TRUE,  #列名
row.names=TRUE,  #行名
append=FALSE,  #续写状态,TRUE为在源文件上补充,反之为覆盖
showNA=TRUE #显示缺失值
)

想要将data1写da.xlsx的sheet1、data2写da.xlsx的sheet2中,如下:

write.xlsx(x, file, sheetName="sheet1")
write.xlsx(x, file, sheetName="sheet2",append=TRUE)

XML文件

XML 是可扩展标记语言(eXtensible Markup Language),被设计用来传输和存储数据。R语言读写 XML 文件需要安装扩展包:

install.packages("XML", repos = "https://mirrors.ustc.edu.cn/CRAN/")

查看XML文件

查看节点数据,某一行使用 [ ], 指定的行和列使用 [[ ]][[]]

# 载入 XML 包
library("XML")
# 设置文件名
out_1 <- xmlParse(file = "xxx.xml")
# 提取根节点
r_n <- xmlRoot(out_1)
# 查看第 2 个节点数据
print(rn[2])
# 查看第 2 个节点的第 3 个数据
print(rn[[2]][[3]])

转换XML数据

  • 转化为列表
library("XML")
xml_data <- xmlToList(out_1)
  • 转化为数据框
library("XML")
xml_dataframe <- xmlToDataFrame("xxx.xml")

JSON 文件

JSON 是存储和交换文本信息的语法,类似 XML,但比 XML 更小、更快,更易解析,R语言读写JSON 文件需要安装扩展包。

install.packages("rjson", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library("rjson")

载入数据

result <- fromJSON(file = "xxx.json")

查看数据:输出第5行使用 [5], 输出3行4列使用 [[3]][[4]]

# 输出第 1 列的结果
print(result[1])# 输出第 2 行第 2 列的结果
print(result[[2]][[2]])

转化数据

as.data.frame() 函数能够把json文件转化为数据框类型,方便后续处理。

# 载入 rjson 包
library("rjson")
# 获取 json 数据
result <- fromJSON(file = "xxx.json")
# 转为数据框
out_data <- as.data.frame(result)

MySQL 文件

MySQL是最流行的关系型数据库管理系统,R 语言读写 MySQL 文件需要安装扩展包。

install.packages("RMySQL", repos = "https://mirrors.ustc.edu.cn/CRAN/") #原版
install.packages("RMariaDB", repos = "https://mirrors.ustc.edu.cn/CRAN/") #复制版本

读取数据

library(RMySQL)
# dbname 为数据库名
mysqlconnection = dbConnect(MySQL(), user = 'root', dbname = 'test',host = 'localhost')
# 查看数据
dbListTables(mysqlconnection)

使用 dbSendQuery 来读取数据库的表,结果集通过 fetch() 函数来获取。
library(RMySQL)

# 查询 sites 表
result = dbSendQuery(mysqlconnection, "select * from sites")# 获取前面两行数据
data.frame = fetch(result, n = 2)

参考资料:https://www.runoob.com/r

本文由mdnice多平台发布

R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等相关推荐

  1. R语言学习丨数据重塑、拆分与组合基础知识,merge、melt、cast函数介绍

    今天学习R语言中数据重塑相关基础知识,主要有merge.melt.cast函数用法示例.公众号:生信分析笔记 合并数据框 merge()函数能够以一列为参考合并两个不同数据框,相当于数学中的布尔运算& ...

  2. R语言学习丨散点图怎么画?绘图基本知识与常用函数

    今天笔记的内容是R语言中散点图绘制方法,用到了plot(普通散点图).pairs(散点图矩阵)函数. 散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势 ...

  3. R语言学习:数据读取以及简单运算

    这是去年业余时间学到的R语言基础知识,打算入门的朋友可以进来看看,大佬请绕道. 这一章记录的是关于R语言数据的读取和一些简单的运算方法. 如有疑问,欢迎留言说明. 数组的基础知识 判断是否是数组is. ...

  4. R语言学习_数据降维

    纬度灾难 变量过多(没用的变量) 变量相关(相关的变量) 解决办法 剔除无用变量 逐步回归 向前引入法 向后剔除法 逐步筛选法 Step函数 AIC越小越好 AIC = n ln(SSE) + 2p ...

  5. R语言学习笔记--数据框输出和查看

    (1)将数据框C输出为.csv文件 write.table(C,file="ABC.csv",sep = ",",row.names=FALSE)     #A ...

  6. R语言学习——处理数据对象的实用函数

    length(object) # 显示对象中元素/成分的数量 dim(boject) # 显示某个对象的维度 str(object) # 显示某个对象的结构 class(object) # 显示某个对 ...

  7. R语言 循环读取数据文件 循环读取csv tsv xlsx数据

    读取数据,XLSX 或者 TSV 或者 CSV [1]先读取一个试下,确认能正确读取进去 下面三种格式提供参考 data <- read_excel("C:/XXX/1.xlsx&qu ...

  8. 当当网 R 语言学习资料统计分析

    当当网 R 语言学习资料统计分析 一.网络数据的抓取 二.数据清洗与保存 (一)工作目录的修改 (二)导入数据并修改列名 1. 交互式编辑器 2. names()函数 3. rename()函数 (三 ...

  9. R语言学习笔记(一)R语言的基本操作与函数

    文章目录 写在前面 R语言GUI操作 基本的快捷键与命令 帮助命令 R Studio 常用快捷键 R语言基础语法 变量操作 运算符 数据类型 数据类型的判断 向量的基本操作 创建向量(数值类型) 基本 ...

最新文章

  1. 设置Windows7各种睡眠方式
  2. mysql 5.7 centos 7_CentOS 7 下 MySQL 5.7 的安装与配置
  3. HTMl语言编写的文件扩展名,用HTML编写的文件的扩展名是()。
  4. MapReduce-流量统计求和-Reducer和JobMain代码编写
  5. 如何给 SAP Spartacus cxOutletPos 赋值
  6. 克莱因瓶为何永远无法装满?科学家发现:宇宙或许就是克莱因瓶!
  7. 【海洋女神原创】Installshield脚本拷贝文件常见问题汇总
  8. 显示桌面图标不见了的解决方法
  9. linux 主机支持远程唤醒_linux 通过wol远程开机【转】
  10. 情人节程序员用HTML网页表白【浪漫爱心旋转】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  11. You can't specify target table 'sdb_goods' for update in FROM clause
  12. MySQL项目--电商平台--数据库搭建
  13. 在线答题系统_在线题库管理系统v3.1.0
  14. uniapp 获取屏幕高度并赋值
  15. 看完这篇你还不明白如何解决分布式Session?
  16. pcntl php windows_PHP各版本安装pcntl扩展
  17. 如何在Mac Finder中查找/Usr 路径?
  18. 2017.9.26 noip模拟赛 总结
  19. 同厂玩伴---鸭子兄传
  20. 【SpringBoot】SpringBoot常用注解

热门文章

  1. 1007: 【顺序结构】截钢管
  2. 小程序去除button按钮的默认样式
  3. geokit无法适用计算机怎么弄,一般说来,没有操作系统,计算机就无法工作。(  )——青夏教育精英家教网——...
  4. APP界面设计必备,常用字体规范
  5. Pydicom User Giude
  6. RequireJs小记
  7. (经典)瑾此献给1975-1989年出生的人(看后请顶)
  8. 光电鼠标的组成及原理
  9. Win11怎么恢复传统右键菜单?Win11右键改回传统模式的方法
  10. 使用Asterisk接收彩信(四):自己写彩信网关