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.

¿Cómo puedo dividir un archivo CSV grande y en crecimiento en Python?

Tengo un archivo growing.csv que se ve así:


20211213 20:49:01,61826.0,61925.0,61928.0,1014.41
20211213 20:50:01,61839.0,62122.0,61928.0,1014.41
20211213 20:51:01,61901.0,62026.0,62035.0,1015.03

Pero me gustaría mantener este archivo con las últimas ~10,000 líneas/filas, ya que las últimas ~7,500 filas son utilizadas por el programa. ¿Existe quizás una forma inteligente de hacer esto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma inteligente de mantener solo las últimas 10,000 líneas/filas en el archivo growing.csv. Una solución es usar el comando tail en tu línea de comandos o terminal. El comando tail se puede usar para mostrar las últimas n líneas de un archivo, donde n es especificado por el usuario. En este caso, puedes usar el siguiente comando para mantener solo las últimas 10,000 líneas en el archivo:

    tail -n 10000 growing.csv > newfile.csv
    

    Este comando creará un nuevo archivo llamado newfile.csv que contiene solo las últimas 10,000 líneas del archivo growing.csv. Puedes reemplazar 10000 con cualquier número de líneas que desees mantener. Este proceso se conoce como “recortar” el archivo.

    Alternativamente, también puedes usar un lenguaje de programación como Python para automatizar este proceso si necesitas realizar esta tarea regularmente. En Python, puedes usar la biblioteca pandas para leer el archivo CSV, mantener las últimas 10,000 filas y escribirlas en un nuevo archivo. Aquí tienes un ejemplo de código:

    import pandas as pd
    
    df = pd.read_csv("growing.csv")
    df = df.tail(10000) # mantener solo las últimas 10000 filas
    df.to_csv("newfile.csv", index=False) # escribir el nuevo archivo sin la columna de índice
    

    Cualquiera que sea el método que elijas, asegúrate de probarlo primero en una copia de tu archivo para evitar perder datos.

Comments are closed.