当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R read.fwf 读取固定宽度格式文件


R语言 read.fwf 位于 utils 包(package)。

说明

将固定宽度格式化数据表读入 data.frame

用法

read.fwf(file, widths, header = FALSE, sep = "\t",
         skip = 0, row.names, col.names, n = -1,
         buffersize = 2000, fileEncoding = "", ...)

参数

file

要从中读取数据的文件的名称。

或者,file 可以是 connection ,如有必要,它将打开,如果需要,则在函数调用结束时关闭。

widths

整数向量,给出固定宽度字段(一行)的宽度,或整数向量列表,给出多行记录的宽度。

header

一个逻辑值,指示文件的第一行是否包含变量名称。如果存在,名称必须由 sep 分隔。

sep

特点;内部使用的分隔符;应该是文件中不出现的字符(标头除外)。

skip

要跳过的初始行数;请参阅read.table

row.names

请参阅read.table

col.names

请参阅read.table

n

最大读取记录数(行),默认无限制。

buffersize

一次读取的最大行数

fileEncoding

字符串:如果非空则声明文件(而不是连接)上使用的编码,以便可以重新编码字符数据。请参阅 file 帮助的“编码”部分、“R 数据导入/导出”手册和“注释”。

...

要传递给 read.table 的更多参数。有用的此类参数包括 as.isna.stringscolClassesstrip.white

细节

多行记录在处理之前连接到单行。 zero-width 的字段或完全超出 file 行尾的字段将替换为 NA

Negative-width字段用于指示要跳过的列,例如-5跳过5列。 read.table 看不到这些字段,因此不应包含在 col.namescolClasses 参数中(也不应包含在标题行中,如果存在)。

读取长行的大文件时,减少 buffersize 参数可能会减少内存使用。当有足够的内存可用时,增加 buffersize 可能会导致处理速度加快。

请注意, read.fwf (不是 read.table )读取提供的文件,因此后者的参数 encoding 将不起作用。

read.table 生成的 data.frame,在内部调用。

例子

ff <- tempfile()
cat(file = ff, "123456", "987654", sep = "\n")
read.fwf(ff, widths = c(1,2,3))    #> 1 23 456 \ 9 87 654
read.fwf(ff, widths = c(1,-2,3))   #> 1 456 \ 9 654
unlink(ff)
cat(file = ff, "123", "987654", sep = "\n")
read.fwf(ff, widths = c(1,0, 2,3))    #> 1 NA 23 NA \ 9 NA 87 654
unlink(ff)
cat(file = ff, "123456", "987654", sep = "\n")
read.fwf(ff, widths = list(c(1,0, 2,3), c(2,2,2))) #> 1 NA 23 456 98 76 54
unlink(ff)

作者

Brian Ripley for R version: originally in Perl by Kurt Hornik.

也可以看看

scanread.table

read.fortran 用于另一种风格的固定格式文件。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Read Fixed Width Format Files。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。