How to Split an Excel File into Multiple Files Using Python

How to Split an Excel File into Multiple Files Using Python

Last Updated on May 08, 2024


Splitting a large Excel file into multiple smaller files is often necessary when dealing with vast datasets, especially to increase manageability or to distribute specific parts to different team members. Python, with its powerful libraries and simple syntax, offers a straightforward approach to accomplish this. This post will guide you through splitting an Excel file into multiple files based on unique values in a specific column using Python. Python is widely recognized for its ease of use and flexibility in data manipulation, making it a popular choice among data scientists and analysts. By leveraging Python’s libraries like pandas and openpyxl, you can efficiently handle Excel files and automate the process of splitting them, saving time and minimizing errors.


Before we start, make sure you have Python installed on your system. If it’s not installed, you can download it from the official Python website.

Step 1: Install Libraries

We need to install the following libraries:

  1. pandas: For data manipulation and analysis.
  2. openpyxl : For handling Excel files.

You can install these packages using pip:

pip install pandas openpyxl

Start by importing the libraries we need.

import pandas as pd

Step 2: Load Your Excel File

Load your large Excel file into a pandas DataFrame. Adjust the path to match where your file is stored:

input_file = 'path_to_your_large_excel_file.xlsx'
df = pd.read_excel(input_file, engine='openpyxl')

Step 3: Identify the Split Criteria

Choose the column based on which you want to split your Excel file. For instance, if each department should have its own file, you might split by the "Department" column.

Step 4: Split the DataFrame

We’ll split the DataFrame into multiple DataFrames based on the unique values of the selected column and then save each smaller DataFrame as a new Excel file.

# Split the DataFrame based on unique values in the specified column
split_column = 'YourColumnName'
for value in df[split_column].unique():
    subset_df = df[df[split_column] == value]
    subset_df.to_excel(f'{value}_file.xlsx', index=False, engine='openpyxl')

Step 5: Verify Your Output Files

Make sure to check the output files to ensure that each contains the correct data as per the split criteria.


You have now learned how to split a large Excel file into multiple smaller files based on a specific column using Python. This approach can be tailored to split files based on different criteria or into different numbers of files as needed.

Key Takeaways

  • installing python libraries
  • reading and writing excel files using python
  • splitting an excel files into multiple files

Category: programming

Tags: #python #tips and tricks #edited by chatgpt

Join the Newsletter

Subscribe to get my latest content by email.

I won't send you spam. Unsubscribe at any time.

Related Posts