Buen día para todos. Tengo un pequeño problema en el quisiera que me colaboraran. Estos días estoy trabajando en la lectura de una gran cantidad de archivos de extención .csv, se trata de una lista de documentos de 11 estaciones meteorologicas. Cada estación esta clasificada por meses y cada mes por dias, asi que tengo un archivo cada día. Por ejemplo tengo un archivo .csv para el día uno del mes de enero, otro archivo para el día dos del mes de enero, otro para el día tres del mes de enero y así sucesivamente hasta completar todos los meses. Mi problema es, que hay algunos archivos faltantes. Me refiero a que por ejemplo el día 5 del mes de febrero hace falta. Al tratar de leer los archivos FALTANTES con read.csv() me arroja el siguiente error: Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'C:/R/Zonas rurales/Corponor/2017/7. PUNTO DE CONTROL/Febrero/27-02-2017.csv': No such file or directory Lo que es logico, debido a que no estan. Sin embargo al arrojarme este error se rompe el ciclo for y no me permite continuar trabajando. Mi pregunta es: *¿Existe alguna forma de indicarle al comando read.csv() que evite los archivos faltantes? * Muchas Gracias de antemano. *Wilmer Contreras Sepulveda.* [[alternative HTML version deleted]]
Hola, no he visto tu código pero puedes utilizar la función try. Saludos ________________________________ De: R-help-es <r-help-es-bounces en r-project.org> en nombre de WILMER CONTRERAS SEPULVEDA <wilmercs en ufps.edu.co> Enviado: jueves, 13 de julio de 2017 12:00:59 p. m. Para: r-help-es en r-project.org Asunto: [R-es] Leer archivos con read.csv Buen día para todos. Tengo un pequeño problema en el quisiera que me colaboraran. Estos días estoy trabajando en la lectura de una gran cantidad de archivos de extención .csv, se trata de una lista de documentos de 11 estaciones meteorologicas. Cada estación esta clasificada por meses y cada mes por dias, asi que tengo un archivo cada día. Por ejemplo tengo un archivo .csv para el día uno del mes de enero, otro archivo para el día dos del mes de enero, otro para el día tres del mes de enero y así sucesivamente hasta completar todos los meses. Mi problema es, que hay algunos archivos faltantes. Me refiero a que por ejemplo el día 5 del mes de febrero hace falta. Al tratar de leer los archivos FALTANTES con read.csv() me arroja el siguiente error: Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'C:/R/Zonas rurales/Corponor/2017/7. PUNTO DE CONTROL/Febrero/27-02-2017.csv': No such file or directory Lo que es logico, debido a que no estan. Sin embargo al arrojarme este error se rompe el ciclo for y no me permite continuar trabajando. Mi pregunta es: *¿Existe alguna forma de indicarle al comando read.csv() que evite los archivos faltantes? * Muchas Gracias de antemano. *Wilmer Contreras Sepulveda.* [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Hola. Una manera puede ser tomar una lista de todos los archivos de un directorio y trabajar con ellos, puesto que ciertamente existen. ¿Cómo? Supongamos que tienes una carpeta llena de archivos csv. Entonces, puedes guardar el nombre de tus archivos en un objeto con lista_archivos<-dir()>y esto te dará todos los csv de esa carpeta (si tienes otros archivos también estarán allí, pero insistamos por ahora en suponer que son solo csvs...). Luego puedes hacer algo como read.csv(lista_archivos[s])>dentro del bucle que ya estabas utilizando, para s entre 1 y el tamaño de lista_archivos. Finalmente, si en tu carpeta no hay solo csvs sino otros archivos, puedes usar alguna variante de grepl('.csv', lista_archivos[s])>para quedarte solo con aquellos archivos que cumplan con ser csv, por ejemplo. Esto ya depende mucho de la entropía que haya en tus carpetas jeje. Ojala sirva. ¡Salud! 2017-07-13 13:18 GMT-04:00 Javier Nieto <mac_javi en hotmail.com>:> Hola, no he visto tu código pero puedes utilizar la función try. > > > Saludos > > ________________________________ > De: R-help-es <r-help-es-bounces en r-project.org> en nombre de WILMER > CONTRERAS SEPULVEDA <wilmercs en ufps.edu.co> > Enviado: jueves, 13 de julio de 2017 12:00:59 p. m. > Para: r-help-es en r-project.org > Asunto: [R-es] Leer archivos con read.csv > > Buen día para todos. > > Tengo un pequeño problema en el quisiera que me colaboraran. > > Estos días estoy trabajando en la lectura de una gran cantidad de archivos > de extención .csv, se trata de una lista de documentos de 11 estaciones > meteorologicas. Cada estación esta clasificada por meses y cada mes por > dias, asi que tengo un archivo cada día. Por ejemplo tengo un archivo .csv > para el día uno del mes de enero, otro archivo para el día dos del mes de > enero, otro para el día tres del mes de enero y así sucesivamente hasta > completar todos los meses. > > Mi problema es, que hay algunos archivos faltantes. Me refiero a que por > ejemplo el día 5 del mes de febrero hace falta. > > Al tratar de leer los archivos FALTANTES con read.csv() me arroja el > siguiente error: > > Error in file(file, "rt") : cannot open the connection > In addition: Warning message: > In file(file, "rt") : > cannot open file 'C:/R/Zonas rurales/Corponor/2017/7. PUNTO DE > CONTROL/Febrero/27-02-2017.csv': No such file or directory > > Lo que es logico, debido a que no estan. > > Sin embargo al arrojarme este error se rompe el ciclo for y no me permite > continuar trabajando. > > Mi pregunta es: > > *¿Existe alguna forma de indicarle al comando read.csv() que evite los > archivos faltantes? * > > Muchas Gracias de antemano. > > *Wilmer Contreras Sepulveda.* > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- «Pídeles sus títulos a los que te persiguen, pregúntales cuándo nacieron, diles que te demuestren su existencia.» Rafael Cadenas [[alternative HTML version deleted]]
Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170714/c3b195c3/attachment.html>
Buenos días, Como te han comentado anteriormente, creo que es más conveniente listar directamente los archivos y leerlos todos a la vez. A mi se me presento una situación similar hace un tiempo y lo resolví así: library(dplyr) # Importacion de los ficheros df.a <- list.files("./data/", full.names = T, pattern = "nombre\\.csv") df.a <- lapply(df.a, read.csv2, stringsAsFactors = F) df.a <- bind_rows(df.a) Como ves el directorio desde el cual leía los fichero tenía otros archivos y por tanto selecciono solo los que cumplen con un patrón. Espero que te sirva. Saludos. El 14 de julio de 2017, 13:51, eric <ericconchamunoz en gmail.com> escribió:> Hola Wilmer, diariamente tengo que hacer lo que indicas, y lo mas simple > que he encontrado es: > > filenames <- list.files(path ="/tu/path/", pattern="*.csv") > > i <- 1 > for (i in 1:length(filenames)) > { > tmp <- fread(filenames[i], header=FALSE) > > } > > Asi se pueden leer selectivamente los archivos .csv del directorio que > indicas en /tu/path/, aunque hayan otros tipos de archivos dentro. > > fread() lee bastante mas rapido que otras opciones como read.csv(), es > bastante inteligente para seleccionar el tipo de dato correcto en cada > columna y el archivo resultante es directamente del tipo data.table. > > Espero que te ayude, > > Saludos, Eric. > > > > On 07/13/2017 01:00 PM, WILMER CONTRERAS SEPULVEDA wrote: > > Buen día para todos. > > Tengo un pequeño problema en el quisiera que me colaboraran. > > Estos días estoy trabajando en la lectura de una gran cantidad de archivos > de extención .csv, se trata de una lista de documentos de 11 estaciones > meteorologicas. Cada estación esta clasificada por meses y cada mes por > dias, asi que tengo un archivo cada día. Por ejemplo tengo un archivo .csv > para el día uno del mes de enero, otro archivo para el día dos del mes de > enero, otro para el día tres del mes de enero y así sucesivamente hasta > completar todos los meses. > > Mi problema es, que hay algunos archivos faltantes. Me refiero a que por > ejemplo el día 5 del mes de febrero hace falta. > > Al tratar de leer los archivos FALTANTES con read.csv() me arroja el > siguiente error: > > Error in file(file, "rt") : cannot open the connection > In addition: Warning message: > In file(file, "rt") : > cannot open file 'C:/R/Zonas rurales/Corponor/2017/7. PUNTO DE > CONTROL/Febrero/27-02-2017.csv': No such file or directory > > Lo que es logico, debido a que no estan. > > Sin embargo al arrojarme este error se rompe el ciclo for y no me permite > continuar trabajando. > > Mi pregunta es: > > *¿Existe alguna forma de indicarle al comando read.csv() que evite los > archivos faltantes? * > > Muchas Gracias de antemano. > > *Wilmer Contreras Sepulveda.* > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing listR-help-es en r-project.orghttps://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > Forest Engineer > Master in Environmental and Natural Resource Economics > Ph.D. student in Sciences of Natural Resources at La Frontera University > Member in AguaDeTemu2030, citizen movement for Temuco with green city standards for living > > Nota: Las tildes se han omitido para asegurar compatibilidad con algunos lectores de correo. > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]