Best Open-Source Python Libraries for Excel

xlrd

PLEASE NOTE: This library currently has no active maintainers. You are advised to use OpenPyXL instead. If you absolutely have to read .xls files, then xlrd will probably still work for you, but please do not submit issues complaining that this library will not read your corrupted or non-standard file. Just because Excel or some other piece of software opens your file does not mean it is a valid xls file.

For more background to this: https://groups.google.com/d/msg/python-excel/P6TjJgFVjMI/g8d0eWxTBQAJ

Purpose

Provide a library for developers to use to extract data from Microsoft Excel ™ spreadsheet files. It is not an end-user tool.

Versions of Python supported

2.7, 3.4+.

Outside scope

xlrd 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.

Quick start

import 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))

STATS ON GITHUB

  • 2131
  • 435
  • 3
  • License: BSD-style (see licences.py)
  • Author: John Machin
  • Last update: N/A

TRENDS