Accessing Excel Files in Python: A Comprehensive Guide

Samrat Kumar Das
3 min readAug 18, 2023

--

Excel files are a ubiquitous medium for storing and organizing data, and Python provides several libraries that make it incredibly easy to work with Excel files programmatically. Whether you’re reading data from Excel files, modifying existing spreadsheets, or creating entirely new ones, Python has you covered. In this blog post, we’ll explore how to access Excel files using some popular libraries: `openpyxl`, `pandas`, and `xlrd`.

Table of Contents:

1. Introduction to Excel File Handling in Python
2. Using the `openpyxl` Library
3. Manipulating Excel Data with the `pandas` Library
4. Reading Excel Files with the `xlrd` Library
5. Conclusion

1. Introduction to Excel File Handling in Python:

Before we dive into the libraries, let’s briefly understand the types of operations you might want to perform when accessing Excel files with Python:

- Reading Data: Extracting information from existing Excel files.
- Writing Data: Modifying or adding data to Excel files.
- Data Manipulation: Performing calculations, filtering, and transformations on Excel data.
- Formatting: Adjusting cell styles, font sizes, colors, etc.
- Creating New Sheets or Workbooks: Generating new Excel files from scratch.

2. Using the `openpyxl` Library:

openpyxl is a powerful Python library for reading and writing Excel files. It supports both the older `.xls` format and the newer `.xlsx` format. Here’s a basic example of how to use it:

python
import openpyxl

# Load an existing workbook
workbook = openpyxl.load_workbook(‘example.xlsx’)

# Select a specific sheet
sheet = workbook[‘Sheet1’]

# Access cell values
cell_value = sheet[‘A1’].value

# Modify cell values
sheet[‘B1’] = ‘Hello, Python!’

# Save the changes
workbook.save(‘modified_example.xlsx’)

3. Manipulating Excel Data with the pandas Library:

The `pandas` library is renowned for its data manipulation capabilities, and it can work seamlessly with Excel files as well. It’s particularly useful for handling large datasets. Here’s a glimpse of how to work with Excel files using `pandas`:

python
import pandas as pd

# Read an Excel file into a DataFrame
data_frame = pd.read_excel(‘data.xlsx’, sheet_name=’Sheet1')

# Perform data manipulation and analysis
filtered_data = data_frame[data_frame[‘Age’] > 25]

# Write DataFrame back to Excel
filtered_data.to_excel(‘filtered_data.xlsx’, index=False)

## 4. Reading Excel Files with the `xlrd` Library

For reading data from Excel files, the `xlrd` library is another option. It’s mainly focused on reading older `.xls` files. Here’s a simple example:

python
import xlrd

# Open the Excel file
workbook = xlrd.open_workbook(‘legacy_data.xls’)

# Choose a sheet
sheet = workbook.sheet_by_index(0)

# Access cell values
cell_value = sheet.cell_value(0, 0)

5. Conclusion:

Accessing Excel files in Python is a crucial skill for data analysis, manipulation, and automation tasks. In this blog post, we explored three libraries — `openpyxl`, `pandas`, and `xlrd` — that cater to different aspects of working with Excel files. Whether you need to read, write, modify, or create Excel files, these libraries provide a wide range of features to suit your needs.

Remember to install these libraries using `pip` before using them:

bash
pip install openpyxl pandas xlrd

With the knowledge gained from this guide, you’ll be well-equipped to tackle Excel-related tasks efficiently and effectively using Python. Happy coding!

--

--

Samrat Kumar Das
Samrat Kumar Das

Written by Samrat Kumar Das

" Is there anything that we cannot achieve ? "

No responses yet