学习笔记,有错必究,仅供参考
逐行读取文件并对字符串按照字母顺序排序
我们知道R的很多函数(比如read.csv)都是将文件一次性读进内存的,我们也知道(假设都知道)python中是用open函数打开一个文件,创建一个file对象,之后再用file.readline()方法得到一行数据的,那么我么如何实现类似于python这样的操作呢?
我们可以使用file函数。
file函数
file(description = "", open = "", blocking = TRUE,
encoding = getOption("encoding"), raw = FALSE,
method = getOption("url.method", "default"))
该函数可以打开一个与文件的连接。
案例
现在,我有30行字符串,他们装在一个txt文件中,我想用R将其导入,再按照他们的首字母顺序,对其进行排序,最后将结果输出,下面是我的实现步骤:
setwd("C:/Users/goatbishop/Desktop/data")
data01 <- file("data0712.txt", "r")
data02 <- c()
line = readLines(data01, n = 1)
while(length(line) != 0) {
data02 <- c(data02, line)
line = readLines(data01, n = 1)
}
close(data01)
sorted_data <- sort(data02)
print(sorted_data)
write.csv(sorted_data, "sorted.csv")
部分输出:
[1] "Chang, Y. ...
[2] "Cheng, J.L. ...
[3] "Dong, C., ...