How to Export a Pandas DataFrame to Excel in Python

by | Python

Pandas is a powerful Python library that simplifies data manipulation by providing easy-to-use data structures like a data frame. This structure efficiently stores and manipulates large datasets.

To export a pandas DataFrame to Excel in Python, you can use the pandas library and the to_excel() function. The parameters let you customize the export process, such as specifying the sheet name and omitting the index column. This ensures that the resulting Excel file meets the specific requirements of your project.

This article will walk you through the essential steps of taking your DataFrame and exporting it to an Excel file with ease. The instructions will cater to both beginners who are just starting to navigate the data science landscape and more experienced coders looking to refine their skills.

Let’s dive in!

How to Install the Required Python Libraries

Before you start exporting pandas DataFrames to Excel, you must have the pandas library installed in your environment.

You can install it using the pip command:

pip install pandas

With these libraries installed, you are now ready to start working with data and Excel files in Python.

how to export dataframe to excel in python

How to Create a DataFrame in Python

To create a DataFrame in Python using the pandas library, you must first import the pandas library using the alias pd. This is a common convention and makes it convenient to refer to pandas throughout your code.

import pandas as pd

Once you’ve imported pandas, you can create a DataFrame using a dictionary containing the data.

The example below creates a DataFrame with three columns: ID, Name, and Price. This DataFrame represents a list of car prices and their corresponding ID and Name.

data = {
    'ID': [1, 2, 3, 4, 5],
    'Name': ['Car A', 'Car B', 'Car C', 'Car D', 'Car E'],
    'Price': [25000, 30000, 35000, 40000, 45000]
}

df = pd.DataFrame(data)

Here, the pd.DataFrame() function takes the data dictionary as an input and creates a pandas DataFrame called df.

How to Export a DataFrame to an Excel File

illustration of script to export pandas dataframe to xlsx file

The to_excel() function exports the DataFrame to an Excel sheet. Here is the basic syntax:

import pandas as pd

# Create a DataFrame
df = pd.DataFrame(data)

# Export the DataFrame to an Excel file
df.to_excel('output.xlsx', index=False)

In this example, output.xlsx is the target file name. The index parameter, when set to False, prevents the index column from being exported.

How to Export Multiple DataFrames to Excel

The ExcelWriter object can be utilized to save multiple DataFrames to multiple sheets within the same Excel file.

Here’s an example of how to use it:

import pandas as pd

# Create two DataFrames
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# Export DataFrames to Excel using ExcelWriter
with pd.ExcelWriter('output.xlsx') as excel_writer:
    df1.to_excel(excel_writer, sheet_name='Sheet1', index=False)
    df2.to_excel(excel_writer, sheet_name='Sheet2', index=False)

In this example, output.xlsx is the ExcelWriter object file path where the Excel file will be stored. The sheet_name parameter specifies the sheet in which the DataFrame will be exported.

3 Ways to Customize the Excel Export

The to_excel() function provides various optional parameters for customizing the exported file, including handling missing values, formatting column names, and more.

  • na_rep: replace missing values.
  • header: customize the column names.
  • index_label: optional column label for the index column.

Here’s an example that demonstrates the customization of the Excel export:

import pandas as pd

# Create a DataFrame
df = pd.DataFrame(data)

# Customize the export settings
custom_header = ['Product', 'Price']

df.to_excel('output.xlsx', index=False, na_rep='N/A', header=custom_header, index_label='ID')

In this example, the “N/A” is the missing data representation, column names are set to custom values, and the index column label is set to ‘ID’.

The example also assumes your data has two columns (and an index). If you need to remove columns, you can do so with the drop() function.

The picture below shows a customized export with an index label, column names, and a replacement for missing data:

dump data frame and customize the output

Final Thoughts

You’ve learned the valuable skill of exporting a DataFrame to an Excel file in Python. This helps with robust data management and lets you share complex data with people who prefer analyzing data in Excel.

The examples showed the simplicity and flexibility of the pandas library’s to_excel function. This handles basic exports, while also letting you control elements like sheets, indexes, and headers.

While this tutorial provides a solid foundation, it scratches the surface of what is achievable with pandas and Python. The potential to manipulate, analyze, and visualize data is vast. Keep our Python cheat sheet by your side as you explore further.

For just a sample of what else you can do with pandas, check out this video:

Frequently Asked Questions

Can I Write a DataFrame to an Existing Excel File?

Yes, you can. The to_excel() function overwrites an existing file.

df.to_excel('output.xlsx', index=False)

Can I Save to More Than One Sheet?

To save multiple DataFrames to separate sheets in a single Excel file, use ExcelWriter like this:

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

with pd.ExcelWriter('output.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet1', index=False)
    df2.to_excel(writer, sheet_name='Sheet2', index=False)

This code saves the two data frames to a specific Excel sheet in the output file.

author avatar
Sam McKay, CFA
Sam is Enterprise DNA's CEO & Founder. He helps individuals and organizations develop data driven cultures and create enterprise value by delivering business intelligence training and education.

Related Posts