IMPORTAR y EXPORTAR varios CSV con R
Cuando empiezas a trabajar con datos en R, una de las tareas más habituales —y más pesadas— es importar y exportar muchos archivos CSV.
Hacerlo uno a uno no solo es lento, sino que además es fácil equivocarse. En este artículo te voy a enseñar cómo importar y exportar varios CSV con R de forma automática, usando pocas líneas de código y ahorrando muchísimo tiempo.
El problema típico: muchos CSV
Situación muy común:
-
Tienes una carpeta con muchos archivos CSV
-
Todos tienen la misma estructura
-
Quieres leerlos todos en R
-
O procesarlos y volver a guardarlos
Hacer algo como esto no escala:
read.csv("archivo1.csv")
read.csv("archivo2.csv")
read.csv("archivo3.csv")
Aquí es donde R brilla de verdad.
Listar archivos CSV de una carpeta
El primer paso es obtener los nombres de los archivos.
archivos <- list.files(
path = "datos/",
pattern = "\\.csv$",
full.names = TRUE
)
Con esto consigues:
-
Todos los CSV de la carpeta
-
La ruta completa de cada archivo
-
Una base perfecta para automatizar
Importar varios CSV en R
Ahora viene la parte importante: leer todos los CSV de golpe.
lista_datos <- lapply(archivos, read.csv)
Aquí:
-
lapply()recorre cada archivo -
read.csv()se aplica a cada uno -
El resultado es una lista de data frames
Esto ya te ahorra muchísimo trabajo.
Unir todos los CSV en un solo data frame
Si todos los CSV tienen la misma estructura, puedes unirlos fácilmente:
datos_finales <- do.call(rbind, lista_datos)
Ahora tienes un único data frame con toda la información.
Este paso es clave en análisis de datos reales.
Importar varios CSV con tidyverse (opcional)
Si usas tidyverse, el enfoque es muy parecido:
library(readr)
lista_datos <- lapply(archivos, read_csv)
datos_finales <- bind_rows(lista_datos)
El concepto es exactamente el mismo: automatizar.
Exportar varios CSV con R
Supongamos que has hecho algún procesamiento y quieres guardar varios data frames.
Ejemplo: exportar cada elemento de una lista como CSV.
for (i in seq_along(lista_datos)) {
write.csv(
lista_datos[[i]],
file = paste0("salida/datos_", i, ".csv"),
row.names = FALSE
)
}
Con esto:
-
Generas varios CSV automáticamente
-
Evitas escribir código repetitivo
-
Mantienes todo ordenado
Exportar CSV usando nombres personalizados
Si quieres usar nombres más descriptivos:
nombres <- paste0("archivo_", seq_along(lista_datos))
for (i in seq_along(lista_datos)) {
write.csv(
lista_datos[[i]],
file = paste0("salida/", nombres[i], ".csv"),
row.names = FALSE
)
}
Muy útil cuando trabajas con resultados por grupos.
Errores típicos al importar y exportar CSV en R
Algunos fallos muy comunes:
-
No usar rutas correctas
-
Olvidar
full.names = TRUE -
Mezclar separadores decimales
-
No comprobar que los CSV tengan la misma estructura
-
Exportar con
row.names = TRUEsin querer
Son detalles pequeños, pero importantes.
¿Cuándo usar este enfoque?
Este método es ideal cuando:
-
Trabajas con muchos archivos
-
Los datos tienen la misma estructura
-
Quieres automatizar procesos
-
Evitas copiar y pegar código
En proyectos reales, esto es imprescindible.
Conclusión
Qué tienes que llevarte de este artículo:
-
Puedes listar CSV automáticamente
-
Importar varios archivos con
lapply() -
Unirlos fácilmente en un solo data frame
-
Exportar resultados sin esfuerzo
-
Ahorrar horas de trabajo repetitivo
Si entiendes esto, ya estás usando R como se debe.
Y en la academia online tienes cursos estructurados para aprender R paso a paso, sin perder tiempo y sin frustrarte.
-
R base
-
Manipulación de datos
-
Automatización de tareas
-
Análisis de datos real