Skip to main content

How to write to a CSV file in Python

How to write to a CSV file in Python.

Here is a detailed step-by-step tutorial on how to write to a CSV file in Python.

Step 1: Import the CSV Module

To begin, you need to import the csv module, which provides functionality for working with CSV files. You can import it using the following line of code:

import csv

Step 2: Open the CSV File in Write Mode

Next, you need to open the CSV file in write mode. This will create a new file if it doesn't exist, or overwrite the existing file. You can use the open() function to open the file, specifying the file name and the mode as 'w' for write mode:

with open('file.csv', 'w', newline='') as csvfile:
# Code to write to the file

The newline='' argument is necessary to prevent extra blank lines from being inserted between rows in the CSV file.

Step 3: Create a CSV Writer Object

After opening the file, you need to create a CSV writer object. This object will allow you to write data to the CSV file. You can create the writer object using the csv.writer() function, passing the file object as the argument:

with open('file.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
# Code to write to the file

Step 4: Write Rows to the CSV File

Now that you have the CSV writer object, you can write rows to the CSV file. Each row of data should be a list where each element represents a column. To write a row, you can use the writerow() method of the CSV writer object:

with open('file.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Name', 'Age', 'Country']) # Write header row
writer.writerow(['John', 25, 'USA']) # Write data rows
writer.writerow(['Alice', 32, 'Canada'])

In the example above, we first write a header row with column names, followed by two data rows.

Step 5: Close the CSV File

Once you have finished writing to the CSV file, it's important to close it properly. This ensures that all data is written and any system resources associated with the file are released. You can close the file using the close() method of the file object:

with open('file.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
# Code to write to the file

# File is automatically closed outside the 'with' block

By using the with statement, the file will be automatically closed when the block of code is exited, even if an exception occurs.

That's it! You now know how to write to a CSV file in Python. Remember to customize the code based on your specific requirements and data.