R语言 读取固定宽度的文本文件
在这篇文章中,我们将看到如何在R编程语言中读取固定宽度的文本文件。
在文本文件中,列会有固定的宽度,以字符为单位,这决定了它可以包含的最大数据量。 文件中没有使用分隔符来分隔字段。 相反,较小数量的数据用空格填充,以填补所分配的空间,这样,一个给定的列的开始总是可以被指定为从一行的开始的偏移。
有许多方法可以读取固定宽度文本文件中的数据
- 使用read.fwf()函数
- 使用readLines()函数。
- 使用Fortran风格的格式规范。
方法1:使用read.fwf()函数
这种方法是使用utils包中的read.fwf函数完成的。我们必须使用列宽进行读取。
语法: read.fwf(file, widths, header = FALSE, sep = "\t", skip = 0, row.names, col.names, n = -1, buffersize = 2000, fileEncoding = " ", ...)
现在,我们使用read.fwf()来读取名为 “abcd.txt “的固定宽度文本文件。
输出
这里我们采用(5,2,2)的格式,因为学生姓名是4,5的字符串长度,分数是2的字符串长度。
在上面的输出中,我们可以看到它读取了 “abcd.txt “文件,并以5,2,2的格式显示(例如:rahul,20,23来自 “rahul2023″),列名为Studentnames,Test1,Test2。
方法2:使用readLines()函数。
R语言中的 readLines() 函数从一个输入文件中读取文本行。readLines()函数非常适合于文本文件,因为它逐行读取文本,并为每一行创建字符对象。
语法: readLines(path)
参数:
path: 文件的路径
代码
输出
方法3:使用Fortran风格的格式规范。
这里我们将使用read.fortran()函数。它用于使用Fortran风格的格式规范来读取固定格式的数据文件
语法: read.fortran(file, format, ..., as.is = TRUE, colClasses = NA)
参数
- file:要读取的文件或连接。
- format:字符向量或向量的列表。见下面的 “细节”。
- as.is:将字符保留为字符?
- colClasses:用于覆盖默认值的变量类别。
在这里,我们创建了一个名为 “abcd.txt “的文件作为示例,如下面的代码所示。通过使用read.fortran函数,我们可以使用fortran风格的格式规范读取固定宽度的文本文件中的数据。
输出