Thursday, September 4, 2025
HomeLanguagesHow to append a new row to an existing csv file?

How to append a new row to an existing csv file?

For writing a CSV file, the CSV module provides two different classes writer and Dictwriter. Here we will discuss 2 ways to perform this task effectively. The First will be ‘append a list as a new row to the existing CSV file‘ and second way is ‘Append a dictionary as a new row to the existing CSV file.’

First, let’s have a look at our existing CSV file contents.

append a new row to an existing csv file

event.csv

Append a new row to the existing CSV file using writer

let’s see how to use the writer class to append a list as a new row into an existing CSV file

  • Open your existing CSV file in append mode Create a file object for this file.
  • Pass this file object to csv.writer() and get a writer object.
  • Pass the list as an argument into the writerow() function of the writer object. (It will add a list as a new row into the CSV file).
  • Close the file object

Python3




# Import writer class from csv module
from csv import writer
 
# List that we want to add as a new row
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()


Output:

append a new row to an existing csv file

 

Append a new row to the existing CSV file using Dictwriter

Let’s see how to use DictWriter class to append a dictionary as a new row into an existing CSV file

  • Open your CSV file in append mode Create a file object for this file.
  • Pass the file object and a list of column names to DictWriter() You will get an object of DictWriter.
  • Pass the dictionary as an argument to the writerow() function of DictWriter (it will add a new row to the CSV file).
  • Close the file object

Python3




# Import DictWriter class from CSV module
from csv import DictWriter
 
# list of column names
field_names = ['ID', 'NAME', 'RANK',
               'ARTICLE', 'COUNTRY']
 
# Dictionary that we want to add as a new row
dict = {'ID': 6, 'NAME': 'William', 'RANK': 5532,
        'ARTICLE': 1, 'COUNTRY': 'UAE'}
 
# Open 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()


Output:

append a new row to an existing csv file

CSV file after Appending Dictionary

RELATED ARTICLES

Most Popular

Dominic
32260 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6625 POSTS0 COMMENTS
Nicole Veronica
11795 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11855 POSTS0 COMMENTS
Shaida Kate Naidoo
6747 POSTS0 COMMENTS
Ted Musemwa
7023 POSTS0 COMMENTS
Thapelo Manthata
6694 POSTS0 COMMENTS
Umr Jansen
6714 POSTS0 COMMENTS