es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formas alternativas de extraer un archivo .csv de un archivo .zip en un servidor FTP.

He creado un código que descarga un archivo .zip en la memoria de mi computadora y luego extrae un archivo .csv de ese .zip. Sin embargo, no quiero guardar el archivo .zip en mi computadora. En cambio, me gustaría descargar directamente el archivo .csv a mi entorno de trabajo. ¿Existen otras soluciones para hacerlo?


temp <- tempfile()
download.file("ftp://usr:pwd@ftp.XXXX.com//Folder1/Folder2/file.zip",temp)
df <- read.csv(unz(temp, "my_csv.csv"), header = TRUE, sep = ",")
unlink(temp)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay otra solución para descargar el archivo CSV directamente sin guardar el archivo ZIP. En lugar de usar la función unz para extraer el archivo CSV del ZIP, puedes utilizar la función fread del paquete data.table para leer directamente el archivo CSV desde la conexión FTP. Aquí está el código modificado:

    library(data.table)
    ftpURL <- "ftp://usr:pwd@ftp.XXXX.com//Folder1/Folder2/my_csv.csv"
    df <- fread(ftpURL)
    

    Este código descarga directamente el archivo CSV desde la URL FTP utilizando la función fread, la cual está optimizada para leer conjuntos de datos grandes de manera rápida. El prefijo ftp://` especifica el protocolo a utilizar para la descarga, y las variablesusrypwdespecifican las credenciales de la cuenta FTP. La rutaFolder1/Folder2/my_csv.csvespecifica la ruta al archivo CSV en el servidor FTP remoto. El data frame resultantedf` contiene el contenido del archivo CSV, el cual puede ser manipulado y analizado según sea necesario.

Comments are closed.