¿Cómo puedo tomar automáticamente el archivo .txt más recientemente modificado en una carpeta, convertirlo a .xlsx y sobrescribir un archivo .xlsx existente?
Estoy intentando utilizar R para automatizar la actualización de datos en un documento de Excel, pero soy nuevo en la programación y estoy teniendo problemas.
Aquí está el escenario:
Cada mañana, recibo un archivo .txt con un nombre único (la misma información) depositado en la misma carpeta. No sobrescribe el archivo .txt del día anterior, simplemente crea uno nuevo.
Espero poder utilizar R para leer automáticamente el archivo .txt más reciente de la carpeta, convertirlo a .xlsx y actualizar/sobrescribir un archivo .xlsx existente. Este archivo .xlsx servirá como base para un panel de control, por lo que es importante que el mismo archivo .xlsx reciba la nueva información de cada archivo .txt diario.
Nuevamente, soy completamente nuevo en la programación, por lo que no tengo una idea educada de cómo se codificaría esto, pero a continuación está mi mejor intento inicial:
require(readtext)
require(dplyr)
require(eeptools)
<h1>Establecer el directorio de trabajo</h1>
setwd("G:\My Drive\Dashboards\Text Files")
<h1>Leer el archivo de texto más reciente</h1>
data_files <- file.info(Sys.glob("*.txt"))
row.names(data_files)[which.max(data_files[["ctime"]])]
¿Alguien sabe exactamente cómo tendría que codificar esto?
Gracias de antemano por tu ayuda. ¡Lo aprecio enormemente!
davy.ai
Para automatizar la actualización de datos en un documento de Excel utilizando R, puedes seguir los siguientes pasos:
Utiliza la función
list.files()
para crear un vector con todos los nombres de archivo dentro de la carpeta.grep()
para extraer solo los archivos .txt del vector de nombres de archivo.tail()
para seleccionar el archivo .txt más reciente.read.table()
para leer los datos del archivo .txt más reciente.write.xlsx()
del paqueteopenxlsx
para escribir los datos en un archivo de Excel.Este código leerá el archivo .txt más reciente, lo convertirá a .xlsx y sobrescribirá el archivo existente “dashboard_data.xlsx” con la información actualizada. Luego puedes utilizar este archivo actualizado como base para tu panel de control.