[R] Reading in csv with footer

William Dunlap wdunlap at tibco.com
Mon Feb 13 01:35:06 CET 2012


That prints nicely, but the first column in the
result got turned into a factor:
  > d <- head(read.csv(textConnection(Lines)), -1)
  > str(d)
  'data.frame':   3 obs. of  3 variables:
   $ label_1: Factor w/ 4 levels "1","2","3","Total Rows: 3": 1 3 2
   $ label_2: int  2 2 3
   $ label_3: int  3 4 4
(Remove the call to head and you will see why.)

You could use head(,-1) on the output of readLines so
read.csv never sees the last value:
  > d2 <- read.csv(textConnection(head(readLines(textConnection(Lines)), -1)))
  > str(d2)
  'data.frame':   3 obs. of  3 variables:
   $ label_1: int  1 3 2
   $ label_2: int  2 2 3
   $ label_3: int  3 4 4
or you could use a pipe connection that called the shell script.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com 
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Henrique
> Dallazuanna
> Sent: Sunday, February 12, 2012 4:27 PM
> To: Noah Silverman
> Cc: r-help
> Subject: Re: [R] Reading in csv with footer
> 
> This works for me:
> 
> Lines <- "label_1, label_2, label_3
> 1,2,3
> 3,2,4
> 2,3,4
> Total Rows: 3"
> 
> d <- head(read.csv(textConnection(Lines)), -1)
> closeAllConnections()
> 
> On Sun, Feb 12, 2012 at 10:05 PM, Noah Silverman <noahsilverman at ucla.edu>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.
> >
> > Thanks!
> >
> > --
> > Noah
> > ______________________________________________
> > R-help at 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.
> >
> 
> 
> 
> --
> Henrique Dallazuanna
> Curitiba-Paraná-Brasil
> 25° 25' 40" S 49° 16' 22" O
> 
> 	[[alternative HTML version deleted]]



More information about the R-help mailing list