descr (version 1.1.4)

fwf2csv: Fast conversion of a fwf file into a csv one

Description

Convert fixed width formated file into a tab separated one.

Usage

fwf2csv(fwffile, csvfile, names, begin, end,
        verbose = getOption("verbose"))

Arguments

fwffile

The fixed width format file.

csvfile

The csv file to be created. The fields will be separated by tab characters and there will be no quotes around strings.

names

A character vector with column names.

begin

A numeric vector with the begin offset of values in the fixed width format file.

end

A numeric vector with the end offset of values in the fixed width format file.

verbose

Logical: if TRUE a message about the number of saved lines is printed.

Value

NULL.

Details

The return value is NULL, but cvsfile is created if the function is successful. The file is a text table with fields separated by tabular characters without quotes around the strings.

This function is useful if you have a very big fixed width formated file to read and read.fwf would be too slow. The function that does the real job is very fast because it is written in C, and the use of RAM is minimum.

See Also

For an efficient way of reading a csv file, see the function fread() from data.table package.

Examples

Run this code
# NOT RUN {
tab <- rbind(c("state",   1,  2),
             c("municp",  3,  5),
             c("house",   6,  8),
             c("cond",    9,  9),
             c("sex",    10, 10),
             c("age",    11, 12),
             c("income", 13, 16))

fwf2csv("example.txt", "example.csv",
        names = tab[, 1],
        begin = as.numeric(tab[, 2]),
        end = as.numeric(tab[, 3]))
df <- read.table("example.csv", header = TRUE,
                 sep = "\t", quote = "")
# }

Run the code above in your browser using DataLab