Export Pandas dataframe to a CSV file
Last Updated :
15 Jul, 2025
When working on a Data Science project one of the key tasks is data management which includes data collection, cleaning and storage. Once our data is cleaned and processed it’s essential to save it in a structured format for further analysis or sharing.
A CSV (Comma-Separated Values) file is a widely used format for storing tabular data. In Python Pandas provides an easy-to-use function to_csv()
to export a DataFrame into a CSV file. This article will walk we through the process with step-by-step examples and customizations.
Creating a Sample DataFrame
Before exporting let's first create a sample DataFrame using Pandas.
Python
import pandas as pd
scores = {'Name': ['a', 'b', 'c', 'd'],
'Score': [90, 80, 95, 20]}
df = pd.DataFrame(scores)
print(df)
Output :

Now that we have a sample DataFrame, let's export it to a CSV file.
Exporting DataFrame to CSV
1. Basic Export
The simplest way to export a DataFrame to a CSV file is by using the to_csv()
function without any additional parameters. This method creates a CSV file where the DataFrame's contents are written as-is.
Python
df.to_csv("your_name.csv")
Output
File Successfully saved
Customizing the CSV Export
2. Remove Index Column
The
to_csv()
exports the index column which represents the row numbers of the DataFrame. If we do not want this extra column in our CSV file we can remove it by setting index=False
.
Python
df.to_csv('your_name.csv', index = False)
Output :

3. Export only selected columns
In some cases we may not want to export all columns from our DataFrame. The columns
parameter in to_csv()
allows us to specify which columns should be included in the output file.
Python
df.to_csv("your_name.csv", columns = ['Name'])
Output :

4. Exclude Header Row
By default theto_csv()
function includes column names as the first row of the CSV file. However if we need a headerless file e.g., for certain machine learning models or integration with other systems we can set header=False
.
Python
df.to_csv('your_name.csv', header = False)
Output :

5. Handling Missing Values
DataFrames often contain missing values (NaN
) which can cause issues in downstream analysis. By default Pandas writes NaN
as an empty field but we can customize this behavior using the na_rep
parameter.
Python
df.to_csv("your_name.csv", na_rep = 'nothing')
6. Change Column Separator
CSV files use commas (,
) by default as delimiters to separate values. However in some cases other delimiters may be required such as tabs (), semicolons (;
), or pipes (|
). Using a different delimiter can make the file more readable or compatible with specific systems.
Python
df.to_csv("your_name.csv", sep ='\t')
Output :

Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice