skillfed

excelrd

Library for developers to extract data from Microsoft Excel (tm) spreadsheet files

excelrd v3.0.0 235.1K downloads/30d#9,008 on PyPI9
Permissive license BSD Abandoned released

What it is and what it does

excelrd is a maintained fork of the xlrd library that restores compatibility with Python 3.9 and newer versions. The original xlrd stopped being updated and became incompatible with modern Python; excelrd solves that by providing the same API for reading Microsoft Excel .xls files. It extracts cell values, sheet metadata, and workbook structure while ignoring charts, macros, formulas, and other embedded objects.

The package is a library for developers, not an end-user tool. It supports Python 3.7 through 3.11 and runs on CPython and PyPy. Installation is straightforward (no runtime dependencies), and migration from xlrd is as simple as changing the import statement. The maintainer notes that formulas are ignored (only their calculated results are extracted) and password-protected files are not supported.

Use it for:

  • Migrate code from xlrd to a Python 3.9+ compatible library without rewriting spreadsheet reading logic.
  • Extract tabular data from .xls workbooks in data processing pipelines that must run on modern Python.
  • Read cell values, row/column counts, and sheet names from Excel files in batch data workflows.
  • Parse legacy .xls files in applications where upgrading to newer Excel formats is not feasible.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Extracts data from Microsoft Excel spreadsheet files (.xls format) for Python 3.7 and newer, addressing the incompatibility of the original xlrd library with Python 3.9+.

Yes, if you need to read .xls files in Python 3.9+. The package is stable, has no security vulnerabilities, and carries a permissive BSD license. However, maintenance is abandoned (last release July 2023, 1133 days ago), so it will not receive bug fixes or feature updates. Use it only for legacy .xls support; for new projects, consider xlsx-capable alternatives.

Install

excelrd on PyPI

pip

pip install excelrd

uv

uv add excelrd

poetry

poetry add excelrd

Installing excelrd

License in practice

BSD-style license (permissive) means you can use, modify, and distribute the package freely in commercial and open-source projects with minimal restrictions.

Quickstart

pip install excelrd

import excelrd

book = excelrd.open_workbook("file.xls")
sheet = book.sheet_by_index(0)
for row_idx in range(sheet.nrows):
    for col_idx in range(sheet.ncols):
        cell_value = sheet.cell(row_idx, col_idx).value

Requires Python 3.7 or newer; designed for .xls files (legacy Excel format).

Verify before relying

  • Whether the package handles .xlsx (modern Excel) format or only legacy .xls files
  • Performance characteristics or limits when processing large spreadsheets
  • Completeness of API compatibility with original xlrd for existing codebases

Package facts

License BSD (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,133 days since the last release
Last repo commit
First released
Downloads 235,134/month — #9,008 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: excelrd-3.0.0-py3-none-any.whl

Keywords: xls, excel, spreadsheet, workbook

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Office/BusinessTopic :: Office/Business :: Financial :: SpreadsheetTopic :: Software Development :: Libraries :: Python Modules

Tags

read excel xls files pythonextract data from spreadsheetsxlrd python 3.9 compatibleexcel file parser libraryworkbook cell data extraction
spreadsheet-parsingdata-extraction

More Python Modules packages