Anexar nova linha a um arquivo CSV em Python

Najwa Riyaz 30 janeiro 2023
  1. Anexar dados na lista ao arquivo CSV em Python usando writer.writerow()
  2. Anexar dados no dicionário ao arquivo CSV em Python usando DictWriter.writerow()
Anexar nova linha a um arquivo CSV em Python

Se você deseja anexar uma nova linha a um arquivo CSV em Python, pode usar qualquer um dos métodos a seguir.

  1. Atribua os dados da linha desejada em uma lista. Em seguida, anexe os dados desta Lista ao arquivo CSV usando writer.writerow().
  2. Atribua os dados da linha desejada a um Dicionário. Em seguida, anexe os dados deste dicionário ao arquivo CSV usando DictWriter.writerow().

Anexar dados na lista ao arquivo CSV em Python usando writer.writerow()

Nesse caso, antes de anexarmos a nova linha ao arquivo CSV antigo, precisamos atribuir os valores da linha a uma lista.

Por exemplo,

list = ["4", "Alex Smith", "Science"]

Em seguida, passe esses dados da Lista como um argumento para a função writerow() do objeto CSV writer().

Por exemplo,

csvwriter_object.writerow(list)

Pré-requisitos:

  • A classe CSV writer deve ser importada do módulo CSV.
    from csv import writer
    
  • Antes de executar o código, o arquivo CSV deve ser fechado manualmente.

Exemplo - Anexar dados na lista ao arquivo CSV usando writer.writerow()

Aqui está um exemplo do código que mostra como alguém pode anexar os dados presentes em uma lista em um arquivo CSV -

# Pre-requisite - Import the writer class from the csv module
from csv import writer

# The data assigned to the list
list_data = ["03", "Smith", "Science"]

# Pre-requisite - The CSV file should be manually closed before running this code.

# First, open the old CSV file in append mode, hence mentioned as 'a'
# Then, for the CSV file, create a file object
with open("CSVFILE.csv", "a", newline="") as f_object:
    # Pass the CSV  file object to the writer() function
    writer_object = writer(f_object)
    # Result - a writer object
    # Pass the data in the list as an argument into the writerow() function
    writer_object.writerow(list_data)
    # Close the file object
    f_object.close()

Suponha que antes de executar o código; o arquivo CSV antigo contém o conteúdo abaixo.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++

Assim que o código for executado, o arquivo CSV será modificado.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science

Anexar dados no dicionário ao arquivo CSV em Python usando DictWriter.writerow()

Nesse caso, antes de anexarmos a nova linha ao arquivo CSV antigo, atribua os valores da linha a um dicionário.

Por exemplo,

dict = {"ID": 5, "NAME": "William", "SUBJECT": "Python"}

Em seguida, passe esses dados do dicionário como um argumento para a função writerow() do objeto de dicionário DictWriter().

Por exemplo,

dictwriter_object.writerow(dict)

Pré-requisitos:

  • A classe DictWriter deve ser importada do módulo CSV.
    from csv import DictWriter
    
  • Antes de executar o código, o arquivo CSV deve ser fechado manualmente.

Exemplo - Anexar dados no dicionário ao arquivo CSV usando DictWriter.writerow()

Aqui está um exemplo do código que mostra como alguém pode anexar os dados presentes em um Dicionário a um arquivo CSV.

# Pre-requisite - Import the DictWriter class from csv  module
from csv import DictWriter

# The list of column names as mentioned in the CSV file
headersCSV = ["ID", "NAME", "SUBJECT"]
# The data assigned to the dictionary
dict = {"ID": "04", "NAME": "John", "SUBJECT": "Mathematics"}

# Pre-requisite - The CSV file should be manually closed before running this code.

# First, open the old CSV file in append mode, hence mentioned as 'a'
# Then, for the CSV file, create a file object
with open("CSVFILE.csv", "a", newline="") as f_object:
    # Pass the CSV  file object to the Dictwriter() function
    # Result - a DictWriter object
    dictwriter_object = DictWriter(f_object, fieldnames=headersCSV)
    # Pass the data in the dictionary as an argument into the writerow() function
    dictwriter_object.writerow(dict)
    # Close the file object
    f_object.close()

Suponha que, antes de executar o código, o arquivo CSV antigo contenha o conteúdo abaixo.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science

Assim que o código for executado, o arquivo CSV será modificado.

ID,NAME,SUBJECT
01,Henry,Python
02,Alice,C++
03,Smith,Science
04,John,Mathematics

Artigo relacionado - Python CSV