Open In App

Delete a CSV Column in Python

Improve
Improve
Like Article
Like
Save
Share
Report

The comma-separated values ​​(CSV) file is a delimited text file that uses commas for individual values. Each line of the file is a data record in CSV. This format used for tabular data, rows, and columns, exactly like a spreadsheet. The CSV file stores data in rows and the values ​​in each row are separated with a comma(separator), also known as a delimiter.

There are 2 ways to remove a column entirely from a CSV in python. Let us now focus on the techniques :

  1. With pandas library — drop() or pop()
  2. Without pandas library

Here, a simple CSV file is used i.e; input.csv

iddaymonthyearitem_quantityName
1123202012Oliver
2133202045Henry
314320208Benjamin
4153202023John
5163202031Camili
6173202040Rheana
7183202055Joseph
8193202013Raj
9203202029Elias
10213202019Emily

Method 1: Using pandas library

Python is a great language for doing data analysis, primarily because of the fantastic ecosystem of data-centric python packages. Pandas is one of those packages and makes importing and analyzing data much easier. Pandas consist of a drop function that is used in removing rows or columns from the CSV files. Pandas Pop() method is common in most of the data structures but the pop() method is a little different from the rest. In a stack, pop doesn’t require any parameters, it pops the last element every time. But the pandas pop method can take input of a column from a data frame and pop that directly.

Example 1: Using drop()

data.drop( labels=None, axis=0, index=None, columns=None, level=None, inplace=False,errors='raise')
  1. Import Pandas
  2. Read CSV File
  3. Use drop() function for removing or deleting rows or columns from the CSV files
  4. Print Data

Python3

# import pandas with shortcut 'pd'
import pandas as pd  
  
# read_csv function which is used to read the required CSV file
data = pd.read_csv('input.csv')
  
# display 
print("Original 'input.csv' CSV Data: \n")
print(data)
  
# drop function which is used in removing or deleting rows or columns from the CSV files
data.drop('year', inplace=True, axis=1)
  
# display 
print("\nCSV Data after deleting the column 'year':\n")
print(data)

                    

Output:

Example 2: Using pop()

We can use the panda pop () method to remove columns from CSV by naming the column as an argument.

data.pop('column-name')
  1. Import Pandas
  2. Read CSV File
  3. Use pop() function for removing or deleting rows or columns from the CSV files
  4. Print Data

Python3

# import pandas with shortcut 'pd'
import pandas as pd
  
# read_csv function which is used to read the required CSV file
data = pd.read_csv('input.csv')
  
# display
print("Original 'input.csv' CSV Data: \n")
print(data)
  
# pop function which is used in removing or deleting columns from the CSV files
data.pop('year')
  
# display
print("\nCSV Data after deleting the column 'year':\n")
print(data)

                    

Output:

Method 2: Using CSV library

Example 3: Using CSV read and write

  1. Open Input CSV file as source
  2. Read Source CSV File
  3. Open Output CSV File as a result
  4. Put source CSV data in result CSV using indexes

Python3

# import csv
import csv
  
# open input CSV file as source
# open output CSV file as result
with open("input.csv", "r") as source:
    reader = csv.reader(source)
      
    with open("output.csv", "w") as result:
        writer = csv.writer(result)
        for r in reader:
            
            # Use CSV Index to remove a column from CSV
            #r[3] = r['year']
            writer.writerow((r[0], r[1], r[2], r[4], r[5]))

                    

Output:



Last Updated : 02 Feb, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads