Open In App

Delete a CSV Column in Python

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

id day month year item_quantity Name
1 12 3 2020 12 Oliver
2 13 3 2020 45 Henry
3 14 3 2020 8 Benjamin
4 15 3 2020 23 John
5 16 3 2020 31 Camili
6 17 3 2020 40 Rheana
7 18 3 2020 55 Joseph
8 19 3 2020 13 Raj
9 20 3 2020 29 Elias
10 21 3 2020 19 Emily

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
# 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.

  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
# 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
# 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:


Article Tags :