Añadiendo una columna a múltiples archivos CSV que contiene una constante en cada fila.
Estoy intentando escribir un script que realice la siguiente secuencia a una variable que contiene una lista de archivos CSV:
- lee cada archivo CSV
- agrega una columna a cada archivo CSV con el encabezado “Tipo de Dimensión”, donde cada fila de la nueva columna contiene el nombre del encabezado en la primera columna
- renombra el encabezado de la primera columna como “Dimensión”
- combina todos los archivos CSV
- exporta los archivos CSV combinados a un archivo de Excel
Todos los archivos CSV tienen la misma estructura, con la excepción del encabezado de la primera columna, que es el nombre del tipo de dimensión.
Creé la variable que contiene la lista de archivos CSV utilizando la función list.files, y también tengo almacenado en una variable el directorio donde quiero guardar el archivo de Excel.
davy.ai
Para lograr la secuencia deseada, puedes usar el siguiente script:
En este script, primero establecemos el directorio de trabajo donde se encuentran los archivos csv. Luego cargamos los paquetes necesarios, que son dplyr, readr y purrr.
A continuación, definimos una función llamada ‘add_column’ que toma un nombre de archivo como entrada, lee el archivo csv correspondiente, agrega una nueva columna llamada ‘Tipo de Dimensión’ donde cada fila contiene el nombre del encabezado en la primera columna, renombra la primera columna como ‘Dimensión’ y retorna el archivo modificado.
Luego utilizamos la función ‘map’ del paquete purrr para aplicar esta función a cada archivo csv en el directorio y almacenar los archivos modificados resultantes en una lista llamada ‘files_modified’.
Posteriormente, combinamos todos los archivos modificados en un único dataframe utilizando la función ‘bind_rows’ del paquete dplyr y almacenamos el resultado en una variable llamada ‘combined_file’.
Finalmente, exportamos el archivo combinado a un archivo de excel utilizando la función ‘write_xlsx’ del paquete readxl, con una ruta de archivo especificada.