¿Cómo agregar una nueva fila a un archivo csv existente?

Para agregar una nueva fila a un archivo CSV existente, tenemos muchas formas de hacerlo. Aquí discutiremos 2 formas de realizar esta tarea de manera efectiva. Entonces, tenemos 2 formas: la primera es ‘Agregar una lista como una nueva fila al archivo CSV existente’ y la segunda forma es ‘Agregar un diccionario como una nueva fila al archivo CSV existente’.

Primero, echemos un vistazo al contenido de nuestro archivo CSV existente. Supongamos que tenemos un archivo CSV event.csv que tiene el siguiente contenido.

Archivo CSV antes de agregar

Para escribir un archivo CSV, el módulo CSV proporciona dos clases diferentes escritor y Dictwriter.

Agregar una lista como una nueva fila al archivo CSV existente

veamos cómo usar la clase de escritor para agregar una lista como una nueva fila en un archivo CSV existente. Hay varios pasos para tomar eso.

  • Importar clase de escritor desde el módulo csv
  • Abra su archivo CSV existente en modo de adición
    Cree un objeto de archivo para este archivo.
  • Pase este objeto de archivo a csv.writer() y obtenga un objeto de escritor.
  • Pase la lista como argumento a la función writerow() del objeto escritor.
    (Agregará una lista como una nueva fila en el archivo CSV).
  • Cerrar el objeto de archivo

Tomemos una Lista que queremos agregar como una nueva fila.

List=[6,'William',5532,1,'UAE']

Ahora aplique los pasos anteriores al programa.

Python3

# Import writer class from csv module
from csv import writer
  
# List 
List=[6,'William',5532,1,'UAE']
  
# Open our existing CSV file in append mode
# Create a file object for this file
with open('event.csv', 'a') as f_object:
  
    # Pass this file object to csv.writer()
    # and get a writer object
    writer_object = writer(f_object)
  
    # Pass the list as an argument into
    # the writerow()
    writer_object.writerow(List)
  
    #Close the file object
    f_object.close()

Producción:

Archivo CSV después de agregar la lista

Cuando esté ejecutando este programa, asegúrese de que su archivo CSV debe estar cerrado; de lo contrario, este programa le dará un error de permiso.

Agregar un diccionario como una nueva fila al archivo CSV existente

veamos cómo usar la clase DictWriter para agregar un diccionario como una nueva fila en un archivo CSV existente. Hay varios pasos para hacerlo.

  • Importe la clase DictWriter desde el módulo CSV.
  • Abra su archivo CSV en modo de adición
    Cree un objeto de archivo para este archivo.
  • Pase el objeto de archivo y una lista de nombres de columnas a DictWriter()
    Obtendrá un objeto de DictWriter.
  • Pase el diccionario como argumento a la función Writerow() de DictWriter
    (agregará una nueva fila al archivo CSV).
  • Cerrar el objeto de archivo

Tomemos un Diccionario que queremos agregar como una nueva fila.

dict={'ID':6,'NAME':'William','RANK':5532,'ARTICLE':1,'COUNTRY':'UAE'}

Ahora aplique los pasos anteriores al programa.

Python3

# Import DictWriter class from CSV module
from csv import DictWriter
  
# list of column names 
field_names = ['ID','NAME','RANK',
               'ARTICLE','COUNTRY']
  
# Dictionary
dict={'ID':6,'NAME':'William','RANK':5532,
      'ARTICLE':1,'COUNTRY':'UAE'}
  
# Open your CSV file in append mode
# Create a file object for this file
with open('event.csv', 'a') as f_object:
      
    # Pass the file object and a list 
    # of column names to DictWriter()
    # You will get a object of DictWriter
    dictwriter_object = DictWriter(f_object, fieldnames=field_names)
  
    #Pass the dictionary as an argument to the Writerow()
    dictwriter_object.writerow(dict)
  
    #Close the file object
    f_object.close()

Producción:

Archivo CSV después de agregar diccionario

Cuando esté ejecutando este programa, asegúrese de que su archivo CSV debe estar cerrado; de lo contrario, este programa le dará un error de permiso.

Publicación traducida automáticamente

Artículo escrito por meetsuvariya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *