Let us see how we can replace the column value of a CSV file in Python. CSV file is nothing but a comma-delimited file.
Method 1: Using Native Python way
Using replace() method, we can replace easily a text into another text. In the below code, let us have an input CSV file as “csvfile.csv” and be opened in “read” mode. The join() method takes all lines of a CSV file in an iterable and joins them into one string. Then, we can use replace() method on the entire string and can perform single/multiple replacements. In the entire string, the given text is searched and replaced with the specified text.
Example:
The input file will be:
Python3
# reading the CSV file text = open ( "csvfile.csv" , "r" ) #join() method combines all contents of # csvfile.csv and formed as a string text = ''.join([i for i in text]) # search and replace the contents text = text.replace( "EmployeeName" , "EmpName" ) text = text.replace( "EmployeeNumber" , "EmpNumber" ) text = text.replace( "EmployeeDepartment" , "EmpDepartment" ) text = text.replace( "lined" , "linked" ) # output.csv is the output file opened in write mode x = open ( "output.csv" , "w" ) # all the replaced text is written in the output.csv file x.writelines(text) x.close() |
Output:
Method 2: Using Pandas DataFrame
We can read the CSV file as a DataFrame and then apply the replace() method.
Python3
# importing the module import pandas as pd # making data frame from the csv file dataframe = pd.read_csv( "csvfile1.csv" ) # using the replace() method dataframe.replace(to_replace = "Fashion" , value = "Fashion industry" , inplace = True ) dataframe.replace(to_replace = "Food" , value = "Food Industry" , inplace = True ) dataframe.replace(to_replace = "IT" , value = "IT Industry" , inplace = True ) # writing the dataframe to another csv file dataframe.to_csv( 'outputfile.csv' , index = False ) |
Output: