R语言读取与处理CSV文件的方法指南
时间:2026-08-15 | 作者:夜鞌不睡 | 阅读:0R 作为统计学专业工具,如果只能人工的导入和导出数据,将使其功能变得没有意义。
所以,R 支持批量的从主流的表格存储格式文件中获取数据,例如 CSV、Excel、XML 等。
CSV 表格交互
CSV(Comma-Separated Values,CSV,有时也会被称为字符分隔值,因为实际使用时分隔符并不一定非得是逗号)是一种非常常见、应用也很广的表格数据存储格式。
它尤其适合用来保存中小规模的数据。
由于大多数软件支持这个文件格式,所以常用于数据的储存与交互。
CSV 本质是文本,它的文件格式极度简单。
数据是一行一行用文本保存的。每条记录被分隔符分隔为字段,每条记录都有同样的字段序列。
以下是一个简单的 sites.csv 文件(存储在测试程序的相同目录下):
id,name,url,likes
1,Google,www.google.com,111
2,Runoob,www.runoob.com,222
3,Taobao,www.taobao.com,333
CSV 用逗号来分割列。如果数据中含有逗号,就要用双引号将整个数据块包括起来。
- 注意:包含非英文字符的文本要注意保存的编码。由于很多计算机普遍使用 UTF-8 编码,所以我是用 UTF-8 进行保存的。
- 注意:CSV 文件最后一行需要保留一个空行,不然执行程序会有警告信息。
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on 'sites.csv'
读取 CSV 文件
接下来,我们就可以使用 read.csv() 函数来读取 CSV 文件的数据。
实例
data <- read.csv("sites.csv", encoding="UTF-8")
print(data)
如果没有显式设置 encoding 属性,read.csv 函数就会直接按操作系统的默认字符编码来读取文件。
举个常见的情况,如果使用的是中文版 Windows,而且系统默认编码没有改过,那么通常就是 GBK。
说白了,编码这件事最好尽量统一,不然读文件时很容易出现各种报错或乱码。
执行以上代码输出结果为:
id name url likes
1 1 Google www.google.com 111
2 2 Runoob www.runoob.com 222
3 3 Taobao www.taobao.com 333
数据框基础操作
read.csv() 函数返回的是数据框。
我们可以很方便地对数据进行统计处理,以下实例查看行数和列数:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
print(is.data.frame(data)) # 查看是否是数据框
print(ncol(data)) # 列数
print(nrow(data)) # 行数
执行以上代码输出结果为:
[1] TRUE
[1] 4
[1] 3
获取字段最大值
以下统计数据框中 likes 字段最大对数据:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
# likes 最大的数据
like <- max(data$likes)
print(like)
执行以上代码输出结果为:
[1] 333
条件查询数据
我们也可以指定查找条件,类似 SQL where 子句一样查询数据,需要用到到函数是 subset()。
以下实例查找 likes 为 222 到数据:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
# likes 为 222 的数据
retval <- subset(data, likes == 222)
print(retval)
执行以上代码输出结果为:
id name url likes
2 2 Runoob www.runoob.com 222
- 注意:条件语句等于使用
==。
多个条件使用 & 分隔符。
以下实例查找 likes 大于 1 name 为 Runoob 的数据:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
# likes 大于 1 name 为 Runoob 的数据
retval <- subset(data, likes > 1 & name=="Runoob")
print(retval)
执行以上代码输出结果为:
id name url likes
2 2 Runoob www.runoob.com 222
保存为 CSV 文件
R 语言可以使用 write.csv() 函数将数据保存为 CSV 文件。
接着以上实例,我们将 likes 为 222 的数据保存到 runoob.csv 文件:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
# likes 为 222 的数据
retval <- subset(data, likes == 222)
# 写入新的文件
write.csv(retval,"runoob.csv")
newdata <- read.csv("runoob.csv")
print(newdata)
执行以上代码输出结果为:
X id name url likes
1 2 2 Runoob www.runoob.com 222
X 来自数据集 newper,可以通过参数 row.names = FALSE 来删除它:
实例
data <- read.csv("sites.csv", encoding="UTF-8")
# likes 为 222 的数据
retval <- subset(data, likes == 222)
# 写入新的文件
write.csv(retval,"runoob.csv", row.names = FALSE)
newdata <- read.csv("runoob.csv")
print(newdata)
执行以上代码输出结果为:
id name url likes
1 2 Runoob www.runoob.com 222
执行完后,我们就可以看到 runoob.csv 文件生存:
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- R语言解压与压缩tar.gz、zip等格式文件方法
- 时间:2026-08-17
-
- VSCode配置Move智能合约开发环境教程
- 时间:2026-08-17
-
- Notepad++配置R语言开发与运行环境教程
- 时间:2026-08-17
-
- Sublime Text配置R语言运行环境与数据分析脚本搭建
- 时间:2026-08-17
-
- CentOS系统中Fortran与R语言数据可视化方法
- 时间:2026-08-17
-
- VSCode配置Elixir与Phoenix框架开发环境设置
- 时间:2026-08-17
-
- Sublime配置R语言开发环境教程:R脚本高亮与运行
- 时间:2026-08-17
-
- VSCode中R语言开发如何优化Httpgd图形显示与数据透视
- 时间:2026-08-17
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15

