[R] read.xls and name of worksheet
Juergen Rose
rose at rz.uni-potsdam.de
Thu Mar 12 15:46:45 CET 2009
Hi,
I would like to some excel files with some worksheets. I tried this with
the following R script:
library(gdata)
i<-1
rc<-0
while(rc != "try-error") {
wksh<-try(read.xls("cluster-microarray-FW.xls",sheet=i,verbose=TRUE,perl="perl"))
rc<-class(wksh)
print(sprintf("------- i=%2d rc=%s ---------------",i,rc))
if (rc != "try-error") {
print("--- summary(wksh)= -----"); print(summary(wksh))
i <- i+1
}
}
At first I found the problem that xls2csv adds one space to the every
item in the last column.
The second problem is, that I could not found an a possibility to save
the name of the worksheet. It is shown on the screen, if I use the last
script. I see something like
Writing Sheet number 1 ('strenger') to file
'/tmp/RtmpFpSkBB/file327b23c6.csv'
The word in the single quotes is the name of the worksheet.
Therefore I tried to redirect the standard output to a file
library(gdata)
i<-1
rc<-0
while(rc != "try-error") {
log=paste("text.log",i,sep="")
print("log="); print(log)
#con<-file(log,open="wt")
#sink(con, type=c("output","message"))
#sink(con, type="output")
#sink(con, type="message")
sink(log)
wksh<-try(read.xls("cluster-microarray-FW.xls",sheet=i,verbose=TRUE,perl="perl"))
sink()
rc<-class(wksh)
print(sprintf("------- i=%2d rc=%s ---------------",i,rc))
if (rc != "try-error") {
cmd<-paste("sed -n \"s/.*[(](.*)[)].*/\1/p\" ",log," > text.log")
system(cmd)
#unlink(log)
print("--- summary(wksh)= -----"); print(summary(wksh))
i <- i+1
}
}
But now I don't find the information about Writing Sheet number in
text.log*. Any hint appreciated.
Regards
--
Juergen Rose <rose at rz.uni-potsdam.de>
Uni-Potsdam
More information about the R-help
mailing list