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:
on_demand
with mmap
still causes some xls
to be read the whole file into memory.on_demand
not supported for xlsx
xlsx
on Windows platform.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:
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: