Sebastian Kruk
2012-Jan-10 16:30 UTC
[R-es] unir en .dbf luego de aplicar read.xls a varios archivos
Estimados: Tengo un directorio con varios archivos Excel quiero importarlos todos y grabarlos en un único archivo .dbf. Haciendolo uno por uno lo logro de la siguiente manera (solo tomo 2 archivos): archivos <- list.files(pattern = 'xls') a1 <- read.xls(archivos[1], perl="C:\\strawberry\\perl\\bin\\perl.exe",skip=12,dec=",",header=F,as.is=T) a2 <- read.xls(archivos[2], perl="C:\\strawberry\\perl\\bin\\perl.exe",skip=12,dec=",",header=F,as.is=T) a11 <- cbind(a1[1,1:2],a1[4:which(a1=="Art. 14")-1,1:7]) a21 <- cbind(a2[1,1:2],a1[4:which(a1=="Art. 14")-1,1:7]) a3 <- rbind(a11,a21) Si lo hago con lapply me queda mal. Saludos, Sebastián.
Jorge I Velez
2012-Jan-10 16:50 UTC
[R-es] unir en .dbf luego de aplicar read.xls a varios archivos
Hola Sebastian, No tengo Windows a la mano, pero podrias intentar con RODBC (que no usa Perl): # para leer archivos de Excel usando RODBC require(RODBC) # instalar primero FromExcel <- function(yourfile, worksheet){ channel <- odbcConnectExcel(yourfile) mydata <- sqlFetch(channel, worksheet) odbcClose(channel) mydata } archivos <- list.files(pattern = ''xls'') info <- lapply(archivos, FromExcel, worksheet = 1) # asumiendo que la primera hoja tiene la info res <- lapply(info, function(x){ y <- x[-c(1:12),] # este es el "skip" que haces cbind(y[1, 1:2], y[4:which(y == "Art. 14") - 1, 1:7]) # el resto }) out <- do.call(rbind, res) out Si no funciona, podrias por favor enviarnos el resultado de str(a1) y str(archivos), asi como el comando lapply(...) que usaste? Un saludo, Jorge.- 2012/1/10 Sebastian Kruk <>> Estimados: > > Tengo un directorio con varios archivos Excel quiero importarlos todos > y grabarlos en un único archivo .dbf. > > Haciendolo uno por uno lo logro de la siguiente manera (solo tomo 2 > archivos): > > archivos <- list.files(pattern = ''xls'') > > a1 <- read.xls(archivos[1], > perl="C:\\strawberry\\perl\\bin\\perl.exe",skip=12,dec=",",header=F,as.is > =T) > a2 <- read.xls(archivos[2], > perl="C:\\strawberry\\perl\\bin\\perl.exe",skip=12,dec=",",header=F,as.is > =T) > > a11 <- cbind(a1[1,1:2],a1[4:which(a1=="Art. 14")-1,1:7]) > a21 <- cbind(a2[1,1:2],a1[4:which(a1=="Art. 14")-1,1:7]) > > a3 <- rbind(a11,a21) > > Si lo hago con lapply me queda mal. > > Saludos, > > Sebastián. > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
miguel.angel.rodriguez.muinos en sergas.es
2012-Jan-11 08:29 UTC
[R-es] unir en .dbf luego de aplicar read.xls a varios archivos
Hola Sebastian. Otra opción es utilizar XLConnect http://cran.r-project.org/web/packages/XLConnect/index.html Es un poco más "potente" pues te permite manipular libros Excel (o leer parcialmente libros y/o hojas) desde R. Creo recordar que con readWorksheetFromFile podrías hacer lo que necesitas. Un Saludo, Miguel. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Jorge I Velez Enviado el: martes, 10 de enero de 2012 17:50 Para: Sebastian Kruk CC: r-help-es en r-project.org Asunto: Re: [R-es] unir en .dbf luego de aplicar read.xls a varios archivos Hola Sebastian, No tengo Windows a la mano, pero podrias intentar con RODBC (que no usa Perl): [...] 2012/1/10 Sebastian Kruk <>> Estimados: > > Tengo un directorio con varios archivos Excel quiero importarlos todos > y grabarlos en un único archivo .dbf. > > > [...]Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm
Marcuzzi, Javier Rubén
2012-Jan-11 12:19 UTC
[R-es] unir en .dbf luego de aplicar read.xls a varios archivos
Hola Por las dudas, a mi me paso el tener algunos archivos *.xls, todos de la misma empresa, sobre el mismo tema, eran idénticos, pero ..., no tan idénticos, tuve que unirlos a mano y me llevo bastante tiempo. Si tiene problemas verifique los archivos *.xls -----Mensaje original----- From: miguel.angel.rodriguez.muinos en sergas.es Sent: Wednesday, January 11, 2012 5:29 AM To: jorgeivanvelez en gmail.com ; residuo.solow en gmail.com Cc: r-help-es en r-project.org Subject: Re: [R-es] unir en .dbf luego de aplicar read.xls a varios archivos Hola Sebastian. Otra opción es utilizar XLConnect http://cran.r-project.org/web/packages/XLConnect/index.html Es un poco más "potente" pues te permite manipular libros Excel (o leer parcialmente libros y/o hojas) desde R. Creo recordar que con readWorksheetFromFile podrías hacer lo que necesitas. Un Saludo, Miguel. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Jorge I Velez Enviado el: martes, 10 de enero de 2012 17:50 Para: Sebastian Kruk CC: r-help-es en r-project.org Asunto: Re: [R-es] unir en .dbf luego de aplicar read.xls a varios archivos Hola Sebastian, No tengo Windows a la mano, pero podrias intentar con RODBC (que no usa Perl): [...] 2012/1/10 Sebastian Kruk <>> Estimados: > > Tengo un directorio con varios archivos Excel quiero importarlos todos > y grabarlos en un único archivo .dbf. > > > [...]Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Apparently Analagous Threads
- unir varios archivos .csv en una serie historica
- unir varios archivos .csv en una serie historica
- unir varios archivos .csv en una serie historica
- importar simultaneamente varios archivos excel
- unir 2 dataframe con con igual caso pero distinto valor en igual variable