Skip to content
Related Articles

Related Articles

Delete a CSV Column in Python
  • Last Updated : 02 Feb, 2021
GeeksforGeeks - Summer Carnival Banner

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:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :