read.fwf {utils} | R Documentation

## Read Fixed Width Format Files

### Description

Read a “table” of fixed width formatted data into a `data.frame`.

### Usage

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

### Arguments

`file` | the name of the file which the data are to be read from. Alternatively, `file` can be a `connection`, which will be opened if necessary, and if so closed at the end of the function call.
`widths` | integer vector, giving the widths of the fixed-width fields (of one line).
`header` | a logical value indicating whether the file contains the names of the variables as its first line.
`sep` | character; the separator used internally; should be a character that does not occur in the file.
`as.is` | see `read.table`.
`skip` | number of initial lines to skip; see `read.table`.
`row.names` | see `read.table`.
`col.names` | see `read.table`.
`n` | the maximum number of records (lines) to be read, defaulting to no limit.
`...` | further arguments to be passed to `read.table`.

### Details

Fields that are of zero-width or are wholly beyond the end of the line in `file` are replaced by `NA`.

### Value

A `data.frame` as produced by `read.table` which is called internally.

### Author(s)

Brian Ripley for R version: original `Perl` by Kurt Hornik.

### See Also

`scan` and `read.table`.

### Examples

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

[Package Contents]