Skip to main content

xlrd3

A fork of original archived xlrd project. This fork aims to fix bugs that existing in xlrd and improve it features. As the name of this fork implies, python2 support is dropped.

At version 1.0.0, xlrd3 on pair with xlrd version 1.2.0 with following bugs fixed:

  • MemoryError: on_demand with mmap still causes some xls to be read the whole file into memory.
  • on_demand not supported for xlsx
  • Parsing comments failed for xlsx on Windows platform.

When to use xlrd3

If you just need to read and deal with both xlsx and xls, use xlrd3. Then if you want to export your data to other excel files, use OpenPyXL or xlsxWriter. If you need to edit xlsx (read and write) and are sure that xls never appear in your workflow, you are advised to use OpenPyXL instead.

Purpose: Provide a library for developers to use to extract data from Microsoft Excel (tm) spreadsheet files. It is not an end-user tool.

Original Author: John Machin

Licence: BSD-style (see licences.py)

Versions of Python supported: 3.6+.

Outside scope: xlrd3 will safely and reliably ignore any of these if present in the file:

  • Charts, Macros, Pictures, any other embedded object. WARNING: currently this includes embedded worksheets.
  • VBA modules
  • Formulas (results of formula calculations are extracted, of course).
  • Comments
  • Hyperlinks
  • Autofilters, advanced filters, pivot tables, conditional formatting, data validation
  • Handling password-protected (encrypted) files.

Installation:$pip install xlrd3

Quick start:

import xlrd3 as xlrd
book = xlrd.open_workbook("myfile.xls")
print("The number of worksheets is {0}".format(book.nsheets))
print("Worksheet name(s): {0}".format(book.sheet_names()))
sh = book.sheet_by_index(0)
print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))
print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))
for rx in range(sh.nrows):
    print(sh.row(rx))

Another quick start: This will show the first, second and last rows of each sheet in each file:

python PYDIR/scripts/runxlrd.py 3rows *blah*.xls

Acknowledgements:

  • This package started life as a translation from C into Python of parts of a utility called "xlreader" developed by David Giffin. "This product includes software developed by David Giffin david@giffin.org."
  • OpenOffice.org has truly excellent documentation of the Microsoft Excel file formats and Compound Document file format, authored by Daniel Rentz. See http://sc.openoffice.org
  • U+5F20 U+654F: over a decade of inspiration, support, and interesting decoding opportunities.
  • Ksenia Marasanova: sample Macintosh and non-Latin1 files, alpha testing
  • Backporting to Python 2.1 was partially funded by Journyx - provider of timesheet and project accounting solutions (http://journyx.com/).
  • Provision of formatting information in version 0.6.1 was funded by Simplistix Ltd (http://www.simplistix.co.uk/)

Release files for xlrd3 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xlrd3 1.1.0
File Size Uploaded
xlrd3-1.1.0.tar.gz 58.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for xlrd3 1.1.0
File Interpreter ABI Platform
xlrd3-1.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 59.0 MB

Release files / xlrd3-1.1.0.tar.gz

Download URL xlrd3-1.1.0.tar.gz
Size 58.9 MB
Tags Source
SHA-256 checksum
How to use checksums
20e6ed2e5f7f8b4ab61e30faffebceff6fab348332b4c915373f0a72742dc177
BLAKE2b-256 checksum
How to use checksums
79db88d8d49ddacc203956ecb98dc86c6ffeee6e933ef1f50da9b369de518f7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release files / xlrd3-1.1.0-py2.py3-none-any.whl

Download URL xlrd3-1.1.0-py2.py3-none-any.whl
Size 105.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
8e8e808f938144e7936a6e07c1d57be7a0f6c6f5b37c9c67974b43246d8aacb6
BLAKE2b-256 checksum
How to use checksums
5d08fce745025e58f160e7dcb5a45d4d43eb0bd44c0d8851425be87ef90271fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page