Giter Club home page Giter Club logo

xlrd3's Introduction

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 [email protected]."
  • 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/)

Changelog

v1.1.0

  • support python3.9
  • refactored some underlying code for better maintenance

xlrd3's People

Contributors

cjw296 avatar takluyver avatar jdufresne avatar sjmachin avatar dragon2fly avatar stephenlewis avatar scop avatar jmcnamara avatar vog avatar tonal avatar gthb avatar larserikh avatar klassmann avatar nayyarv avatar tltx avatar alicederyn avatar andyfaff avatar chrismac4u avatar frewsxcv avatar endeepak avatar helix84 avatar vainu-jussi avatar lopuhin avatar mlorant avatar michael-k avatar patrickfuller avatar upman avatar rossjones avatar timgates42 avatar suvit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.