Rev 54236 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/read.fwf.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2011 R Core Development Team% Distributed under GPL 2 or later\name{read.fwf}\alias{read.fwf}\title{Read Fixed Width Format Files}\description{Read a table of \bold{f}ixed \bold{w}idth \bold{f}ormatteddata into a \code{\link{data.frame}}.}\usage{read.fwf(file, widths, header = FALSE, sep = "\t",skip = 0, row.names, col.names, n = -1,buffersize = 2000, \dots)}\arguments{\item{file}{the name of the file which the data are to be read from.Alternatively, \code{file} can be a \link{connection}, whichwill be opened if necessary, and if so closed at the end of thefunction call.}\item{widths}{integer vector, giving the widths of the fixed-widthfields (of one line), or list of integer vectors giving widths formultiline records.}\item{header}{a logical value indicating whether the file contains thenames of the variables as its first line. If present, the namesmust be delimited by \code{sep}.}\item{sep}{character; the separator used internally; should be acharacter that does not occur in the file (except in the header).}\item{skip}{number of initial lines to skip; see\code{\link{read.table}}.}\item{row.names}{see \code{\link{read.table}}.}\item{col.names}{see \code{\link{read.table}}.}\item{n}{the maximum number of records (lines) to be read, defaultingto no limit.}\item{buffersize}{Maximum number of lines to read at one time}\item{\dots}{further arguments to be passed to\code{\link{read.table}}. Useful further arguments include\code{as.is}, \code{na.strings}, \code{colClasses} and \code{strip.white}.}}% PR#8083 mentions strip.white\value{A \code{\link{data.frame}} as produced by \code{\link{read.table}}which is called internally.}\details{Multiline records are concatenated to a single line before processing.Fields that are of zero-width or are wholly beyond the end of the linein \code{file} are replaced by \code{NA}.Negative-width fields are used to indicate columns to be skipped, eg\code{-5} to skip 5 columns. These fields are not seen by\code{read.table} and so should not be included in a \code{col.names}or \code{colClasses} argument (nor in the header line, if present).Reducing the \code{buffersize} argument may reduce memory use whenreading large files with long lines. Increasing \code{buffersize} mayresult in faster processing when enough memory is available.}\author{Brian Ripley for \R version: original \code{Perl} by Kurt Hornik.}\seealso{\code{\link{scan}} and \code{\link{read.table}}.}\examples{ff <- tempfile()cat(file=ff, "123456", "987654", sep="\n")read.fwf(ff, widths=c(1,2,3)) #> 1 23 456 \\ 9 87 654read.fwf(ff, widths=c(1,-2,3)) #> 1 456 \\ 9 654unlink(ff)cat(file=ff, "123", "987654", sep="\n")read.fwf(ff, widths=c(1,0, 2,3)) #> 1 NA 23 NA \\ 9 NA 87 654unlink(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 54unlink(ff)}\keyword{file}\keyword{connection}