Working with Excel files manually can be time-consuming—especially when dealing with repetitive tasks like updating reports, formatting cells, or analyzing data. Python makes Excel automation easy and powerful, especially with libraries like openpyxl and pandas.
This guide shows beginners how to use these tools to read, write, and manipulate Excel files programmatically.
Why Automate Excel with Python?
- Save hours on repetitive data entry
- Automatically generate or update reports
- Extract and analyze Excel data at scale
- Eliminate human errors in spreadsheets
Setting Up Your Tools
Install the necessary libraries:
bash
Copy code
pip install openpyxl pandas
- openpyxl: Ideal for reading and writing .xlsx files and formatting them
- pandas: Great for data analysis, filtering, and Excel-to-DataFrame workflows
Reading Excel Files with pandas
python
Copy code
import pandas as pd
df = pd.read_excel(“sales.xlsx”)
print(df.head())
✅ Use sheet_name=”Sheet1″ if you want to specify the worksheet.
Writing to Excel with pandas
python
Copy code
df.to_excel(“updated_sales.xlsx”, index=False)
You can also write multiple DataFrames to one file using ExcelWriter:
python
Copy code
with pd.ExcelWriter(“report.xlsx”) as writer:
df.to_excel(writer, sheet_name=”Summary”)
df.describe().to_excel(writer, sheet_name=”Stats”)
Editing Excel Files with openpyxl
openpyxl allows more control over formatting and cell-level updates.
Example: Change a cell value
python
Copy code
from openpyxl import load_workbook
wb = load_workbook(“report.xlsx”)
sheet = wb[“Summary”]
sheet[“B2”] = “Updated Value”
wb.save(“report_updated.xlsx”)
Example: Style a cell
python
Copy code
from openpyxl.styles import Font
sheet[“B2″].font = Font(bold=True, color=”FF0000”)
Automate Report Generation
Combine pandas and openpyxl:
- Use pandas to pull and process the data
- Use openpyxl to format the report
- Save and email automatically (with smtplib)
Practice Tip
Try automating one of your weekly Excel reports by writing a Python script that:
- Reads in raw Excel data
- Cleans or summarizes it
- Writes it to a new file
- Applies simple formatting
Keep Automating with Python
Excel is just the beginning. With Python, you can automate PDF generation, emails, file management, and more.
🧠 Want hands-on help building automations that save time and impress your team?
👉 https://www.thefullstack.co.in/courses/
You also like this:
What is Backend Development? A Complete Guide for Beginners [2025]
How Can SAP ERP Be Beneficial
What Are the Most Popular Backend Development Languages in 2025?
Frequently Asked Questions
What is the difference between openpyxl and pandas for Excel automation in Python?
Openpyxl is a library used to read and write Excel files, while pandas is used for data manipulation and analysis. Openpyxl provides more control over Excel file formatting, whereas pandas is ideal for data-intensive tasks. By combining both, you can automate complex Excel tasks efficiently.
Do I need to have Excel installed to use openpyxl and pandas for automation?
No, you don’t need to have Excel installed to use openpyxl and pandas for automation, as both libraries interact with Excel files directly. However, having Excel installed can be helpful for verifying the output and formatting of the automated Excel files. This makes it easier to test and debug your automation scripts.
How do I handle large Excel files using pandas and openpyxl?
When working with large Excel files, it’s essential to consider memory usage to avoid performance issues. You can use pandas’ chunking feature to read and process large files in smaller chunks, and openpyxl’s optimized modes to reduce memory consumption. This approach allows you to efficiently automate tasks on large Excel files.
Can I use openpyxl and pandas to automate Excel tasks on macOS or Linux systems?
Yes, both openpyxl and pandas are cross-platform libraries, which means you can use them to automate Excel tasks on Windows, macOS, and Linux systems. As long as you have Python installed, you can use these libraries to read, write, and manipulate Excel files, regardless of the operating system. This makes it easy to collaborate with team members using different platforms.
How do I get started with using openpyxl and pandas for Excel automation in Python?
To get started, you need to install the openpyxl and pandas libraries using pip, Python’s package manager. Then, you can import the libraries in your Python script and start exploring their functionalities through the documentation and example code. You can also find many tutorials and online courses that provide step-by-step guidance on using these libraries for Excel automation.

