Python csv append to existing row

For appending a new row to an existing CSV file we have many ways to do that. Here we will discuss 2 ways to perform this task effectively. So, we have 2 ways first is ‘Append a list as a new row to the existing CSV file’ and the 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. Suppose we have CSV file event.csv which has the below contents.

CSV file before append

For writing a CSV file, the CSV module provides two different classes writer and Dictwriter.

Append a list as a new row to the existing CSV file

let’s see how to use writer class to append a list as a new row into an existing CSV file. There are several steps to take that.

  • Import writer class from csv module
  • 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

Let’s take one List that we want to add as a new row.

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

Now apply the above steps to the program.

Python3

from csv import writer

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

with open['event.csv', 'a'] as f_object:

    writer_object = writer[f_object]

    writer_object.writerow[List]

    f_object.close[]

Output:

CSV file After appending List

When you are executing this program Ensure that your CSV file must be closed otherwise this program will give you a permission error.

Append a dictionary as a new row to the existing CSV file

let’s see how to use DictWriter class to append a dictionary as a new row into an existing CSV file. There are several steps to do that.

  • Import DictWriter class from CSV module.
  • 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 a object of DictWriter.
  • Pass the dictionary as an argument to the Writerow[] function of DictWriter
    [it will add a new row to CSV file].
  • Close the file object

Let’s take one Dictionary that we want to add as a new row.

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

Now apply the above steps to the program.

Python3

from csv import DictWriter

field_names = ['ID','NAME','RANK',

               'ARTICLE','COUNTRY']

dict={'ID':6,'NAME':'William','RANK':5532,

      'ARTICLE':1,'COUNTRY':'UAE'}

with open['event.csv', 'a'] as f_object:

    dictwriter_object = DictWriter[f_object, fieldnames=field_names]

    dictwriter_object.writerow[dict]

    f_object.close[]

Output:

CSV file after Appending Dictionary

When you are executing this program ensures that your CSV file must be closed otherwise this program will give you a permission error.


How do I add data to an existing CSV file in Python?

If you need to append row[s] to a CSV file, replace the write mode [ w ] with append mode [ a ] and skip writing the column names as a row [ writer. writerow[column_name] ]. You'll see below that Python creates a new CSV file [demo_csv1.

How do I select a row from a CSV file in Python?

Step 1: Load the CSV file using the open method in a file object. Step 2: Create a reader object with the help of DictReader method using fileobject. This reader object is also known as an iterator can be used to fetch row-wise data. Step 3: Use for loop on reader object to get each row.

How do you add a column name to a CSV file in Python?

How to add a column to a CSV file in Python.
df = pd. read_csv["sample.csv"].
df["new_column"] = "".
df. to_csv["sample.csv", index=False].

What is CSV DictWriter?

The csv. DictWriter class operates like a regular writer but maps Python dictionaries into CSV rows. The fieldnames parameter is a sequence of keys that identify the order in which values in the dictionary passed to the writerow method are written to the CSV file.

Chủ Đề