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