Introduction to Python write CSV file
Python programming language allows developer to access a CSV file where a developer can execute actions like read and write file. CSV Library is responsible to allow developers to execute these actions. Basically, when we have to deal with file input output functions, for specifically CSV files, then python provides the CSV libraries which holds number of functions to work with the file.
Syntax:
Given below is the syntax of Python write CSV file:
csv.writer(csvfile, dialect='excel', **fmtparams)
The syntax starts with csv keyword followed by the function writer, which is responsible for opening the file and writing it. Now before writing we read the file and define our needs. The mentioned syntax will read the file that we pass in, which is important prior to reading or writing the file.
Parameters:
- csvfile is the object, which is the file that we want to operate on.
- The dialect is an optional parameter, which defines that we want a excel generated csv file.
- We can have different type of file. Finally, the fmtparams is a formatting parameter, which is responsible for overriding the specification maintained by the dialect in need.
How to write CSV file in Python using Various Methods?
We will demonstrate the working of csv function within python, using the python CSV library.
Example #1
Our very first example is a code, which will open a csv file and write a few lines into it.
Code:
import csv
with open('start.csv', 'w') as csvfile:
startwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
startwriter.writerow(['Start'] * 2 + ['working example of csv write'])
startwriter.writerow(['starting', 'this is an example', 'just a simple working example'])
4.8 (8,318 ratings)
View Course
Explanation:
- Started with importing csv library for python, then open function to access he start.csv file. If in case the file does not exist, the code will create a new file with mentioned name and type.
- Then we have startwriter, where we access the file with write permissions and pass the filename along with other parameters.
- Next we have our first statement, which will write Start two times, followed by the next sentence.
- Finally the last statement is as we have passed with only difference where it added this | symbol.
Upon successful compilation and execution, the output that must be written into a csv file must be like this:
Start Start |working example of csv write|
starting |this is an example| |just a simple working example|
Output:
Just as we expected, the statements are been printed in a csv file.
Example #2
Moving on we will implement the csv.writer function from the csv library here and write three lines of quotes to a csv file. We will open an empty csv file, then write the data.
Code:
import csv
row_list = [
["SN", "Name", "Quotes"],
[1, "Linus Torvalds", "Talk is cheap. Show me the code."],
[2, "Martin Fowler", "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."],
[3, "Anonymous", "The most important property of a program is whether it accomplishes the intention of its user."]
]
with open('quotes.csv', 'w') as file:
writer = csv.writer(file, quoting=csv.QUOTE_NONNUMERIC, delimiter=';')
writer.writerows(row_list)
Explanation:
- Similar to other examples, we begin this one with importing the CSV library. Then we have defined our data set for input which is in rows format. Then we have our data that is to be written within the empty csv file.
- Then we have open function, where we have passed the csv file with ‘w’ right, meaning writable, as a file. Then we have our writer, which holds the file, with the important parameters. Finally, we have writerows function which will write the list of rows that we have passed into the writer file. The output of the program will be a csv file with name as quotes, with those quotes written into it.
Output:
Example #3
Code:
import csv
newdict=[{'branch': 'ME', 'cgpa': '9.4', 'student_name': 'Sulaksh', 'year': '2'},
{'branch': 'COE', 'cgpa': '8.9', 'student_name': 'Amit', 'year': '2'},
{'branch': 'IF', 'cgpa': '8.3', 'student_name': 'Rutuja', 'year': '2'},
{'branch': 'IM', 'cgpa': '7.1', 'student_name': 'Madhu', 'year': '2'}]
fields = ['student_name', 'branch', 'year', 'cgpa']
filename = "uni_records.csv"
with open(filename, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames = fields)
writer.writeheader()
writer.writerows(newdict)
Explanation:
- Like other examples, started with importing csv, then we declared a new data type of dictionary and filled in number of sentences to be inserted. Then we have our header of the csv file which is named as fields, which has four column names for the file. Followed by defining a name for the file and finally we access the file with open function.
- We pass the filename as csvfile and the fields as fieldnames. Then our writer works in order to write the header of the file and then at last our dictionary is written within the file.
- Upon successful execution, the output of the code will be a csv file named uni_records.csv which will hold the data that we passed within the dictionary.
Output:
As expected, our code has been executed and a new csv file is been created with the data that we intended it to have. All our examples have been successfully worked as intended. There are multiple ways and methods to implement the writer function for csv and as per our needs for the project we can implement.
Conclusion
CSV writer is a well used function of CSV library of python. The csv library allows us to access and operate multiple operations over a csv file and writer is one of them. We simple access the file and write down the intended data into the file. In case if the file doesn’t exist, it will be created.
Recommended Articles
This is a guide to Python write CSV file. Here we discuss the introduction to Python write CSV and how to write CSV file using various methods. You may also have a look at the following articles to learn more –