Skip to content
Prev 3132 / 15380 Next

[R-es] unir en .dbf luego de aplicar read.xls a varios archivos

Hola Jorge. Lamentablemte no funcionó. Cambié worksheet = 1 por
worksheet = "Hoja1". Las columnas con datos numéricos las importa
vacías la función FromExcel.

Te paso:
'data.frame':   58 obs. of  7 variables:
 $ V1: chr  "101" "Código" "111" "119" ...
 $ V2: chr  "BARRACA MAIN                                    "
"Material" "Alambre negro N° 14
                                                            " "Arena
gruesa
                                          " ...
 $ V3: chr  "" "Unidad" "kg                  " "m3                  " ...
 $ V4: chr  "Precio en $" "DICIEMBRE" "62.45" "545.76" ...
 $ V5: chr  "Precio en $" "ENERO" "" "" ...
 $ V6: chr  "Variación" "DIC-ENE" "-100" "-100" ...
 $ V7: chr  "2012-01-01 " "Observaciones " " " " " ...
'data.frame':   21 obs. of  7 variables:
 $ V1: chr  "309" "Código" "701" "702" ...
 $ V2: chr  "CSA                                         " "Material"
"Vidrio plano de 3mm. colocado
                                    " "Vidrio plano de 4 mm. colocado

 " ...
 $ V3: chr  "" "Unidad" "m2" "m2" ...
 $ V4: chr  "Precio en $" "DICIEMBRE" "649" "811" ...
 $ V5: chr  "Precio en $" "ENERO" "" "" ...
 $ V6: chr  "Variación" "DIC-ENE" "-100" "-100" ...
 $ V7: chr  "2012-01-01 " "Observaciones " " " " " ...
chr [1:2] "N° 101 - BARRACA MAIN.xls" "N° 309 - CSA.xls"

Esta versión me anda pero tengo que tener instalado Perl:


archivos <- list.files(pattern = 'xls')

library(gdata)
informacion <- lapply(archivos, read.xls,

perl="C:\\strawberry\\perl\\bin\\perl.exe",skip=12,dec=",",header=F,as.is=T)

res <- lapply(informacion, function(x){
       cbind(x[1, 1:2], x[4:which(x == "Art. 14") - 1, 1:7])
})
out <- do.call(rbind, res)

El día 10 de enero de 2012 13:50, Jorge I Velez
<jorgeivanvelez en gmail.com> escribió: