On 13/02/12 13:05, Noah Silverman wrote:
Hi,
I have a CSV file that is formatted well, except that the last line is a
"summary" not is CSV format.
Toy example:
label_1, label_2, label_3
1,2,3
3,2,4
2,3,4
Total Rows: 3
When I try to import this into R with: d<- read.table("foo.csv", header=T,
sep=",")
It fails to import properly because of the last line.
Currently, I have a shell script that strips the last line from the file, then
it imports to R cleanly. I don't like this extra layer of processing.
Is there a way to import something like this cleanly in R.
How clean is clean?
You need to count the number of lines in the file, and then set the nrows
argument of read.csv() to be two less. (*Two* r.t. one, because of the
header.)
Counting the lines --- three possibilities that I can see:
(1) nlines() from the "parser" package
(2) countLines() from the "R.utils" package
(3) brute force:
x <- readLines(<filename>)
n <- length(x)
Having determined n, do:
y <- read.csv(<filename>,nrows=n-2)
cheers,
Rolf Turner
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.