¿Cómo agregar una marca de tiempo a un archivo csv en Python?
Los archivos CSV son un formato simple y ampliamente utilizado para almacenar e intercambiar datos; a veces es posible que necesitemos agregar una marca de tiempo al archivo CSV, como cuando queremos realizar un seguimiento de cuándo se recopilaron o actualizaron los datos. En este artículo, exploraremos cómo agregar una marca de tiempo a un archivo CSV en Python. Analizaremos diferentes métodos para agregar una marca de tiempo, como usar el módulo datetime y la biblioteca pandas. También le proporcionaremos instrucciones paso a paso y ejemplos de código para ayudarle a comenzar a agregar una marca de tiempo a sus archivos CSV.
Módulo de fecha y hora
Se puede utilizar un módulo de fecha y hora para trabajar tanto con la fecha como con la hora, ya que no hay tipos de datos de fecha u hora en Python. Python ya tiene el módulo DateTime integrado, por lo que no necesitamos instalarlo por separado.
Las clases de manipulación de fecha y hora están disponibles en el módulo DateTime de Python. Las fechas, horas y períodos de tiempo son los principales parámetros de los métodos incluidos en estos marcos. Debido a que Date y DateTime son objetos en Python en lugar de textos o marcas de tiempo, cualquier modificación que les realice tendrá el mismo efecto.
Módulo CSV de Python
El módulo csv de Python permite trabajar con archivos de valores separados por comas (CSV), que son una forma común de almacenar datos tabulares. El módulo tiene métodos para leer y escribir archivos CSV, analizar datos CSV y manipularlos.
El módulo csv tiene clases que pueden escribir y leer datos en forma tabular en formato CSV. Permite a los programadores decir cosas como "escribir estos datos en el formato que Excel quiere" o "leer datos de este archivo creado por Excel" sin tener que conocer los detalles exactos del formato CSV que utiliza Excel. Los usuarios también pueden describir los formatos CSV que otras aplicaciones pueden entender o crear sus propios formatos CSV para propósitos específicos.
Los objetos escritor y lector del módulo csv se utilizan para leer y escribir secuencias. Con las clases DictReader y DictWriter, los programadores también pueden leer y escribir datos en forma de diccionarios.
Agregar una marca de tiempo a un nuevo archivo csv en Python
Pasos para agregar una marca de tiempo a un archivo nuevo
Importando los módulos de fecha y hora y CSV. El módulo csv se utilizará para recibir y escribir el archivo csv, mientras que el módulo de fecha y hora se utilizará para agregar la fecha y hora actuales al archivo csv.
Obtener datos del usuario que queremos agregar al archivo.
Utilice la función open() para abrir el archivo CSV en modo de lectura y escritura ('r+').
La función open() abre un archivo y devuelve un objeto de archivo que representa el archivo.
El funcionamiento del modo de nueva línea universal se controla mediante la configuración de nueva línea=" ". Puede ser Ninguno, "," "n", "r" o "rn".
write() devuelve un objeto escritor que se encarga de convertir los datos del usuario en una cadena con espacios.
Utilice la fecha y hora para obtener la fecha y hora actuales.
El módulo datetime tiene una función llamada now().
Con la ayuda de un bucle for, revise todos los datos de la variable de filas.
-
Usando la función insert(), puede colocar la fecha y hora actuales en el índice 0 de cada dato.
Con la fecha y hora actuales, use writerow() para escribir los datos en el archivo CSV.
Ejemplo
# Importing all the important required modules
import csv
from datetime import datetime
# We will be storing data in the variable r
# After that we will add this data to our CSV file
r = [['Tutorialspoint', '--'],
['Simply', 'Easy'],
['learning', 'at fingertips']]
# Use open() module to open the CSV file
# open csv file in read and write mode
with open(r'C:/Users/Tutorialspoint/Desktop/sample2.csv', 'r+', newline='') as f:
# create the csv writer
fwrite = csv.writer(f)
# Now we will store current time and date
current_dnt = datetime.now()
# Iterating over each and every data in the r variable
for v in r:
# Inserting the date and time at 0th
# index
v.insert(0, current_dnt)
# writing the data in csv file
fwrite.writerow(v)
Producción
Agregar una marca de tiempo a un archivo csv existente en Python
En primer lugar, abra el archivo que ya existe en modo lectura y el archivo nuevo en modo escritura. Usar la función lector() del módulo CSV para convertir el primer archivo en un objeto lector CSV. lector() le proporciona un objeto que pasará por cada línea en un archivo CSV.
Utilice un bucle for para agregar toda la información del primer archivo a la variable de filas. Utilice la función escritor() del módulo CSV para crear un objeto escritor para el segundo archivo. Ahora, use un bucle for para revisar todos los datos en la variable de filas. Almacene la fecha y hora actuales en una variable. Luego, use la función insert() para colocarlo en los datos en el índice 0. Utilice la función writerow() del módulo CSV para colocar los datos que se guardaron en el Archivo2.
Ejemplo
import csv
from datetime import datetime
# We will create a list where we can store content of the file
r = []
# open the existing csv file in the read mode
with open(r'C:/Users/Tutorialspoint/Desktop/industry.csv', 'r', newline='') as f:
# Opening new CSV file to in write mode
# to add the data
with open(r'C:/Users/Tutorialspoint/Desktop/sample.csv', 'w', newline='') as f2:
# creating the csv reader
reader = csv.reader(f, delimiter=',')
# we will store the data of existing foile in r
for row in reader:
r.append(row)
# creating the csv writer
f_write = csv.writer(f2)
# Iterating over all the data in the r variable
for v in r:
# storing current date and time in a variable
current_dt = datetime.now()
v.insert(0, current_dt)
# writing the data in csv file
f_write.writerow(v)
Producción
Conclusión
En este artículo, aprendimos que se puede usar un módulo llamado datetime para trabajar tanto con la fecha como con la hora y podemos usar el módulo CSV para manipular archivos CSV. Hemos visto cómo podemos agregar marcas de tiempo a archivos nuevos o existentes usando Python.