pylightxl
A light weight, zero dependency (only standard libs used), to the point (no bells and whistles) Microsoft Excel reader/writer python 2.7.18 - 3+ library.
Supports:
- Reader supports .xlsx and .xlsm file extensions.
- Writer only supports .xlsx (no macros/buttons/graphs/formatting)
Limitations:
- Does not support .xls (excel 97-2003 worksheet).
- Does not support worksheet cell data more than 536,870,912 cells (32-bit list limitation).
- Writer does not support anything other than writing values/formulas/strings.
- Writing to existing workbooks will remove any macros/buttons/graphs/formatting!
Why pylightxl over pandas/openpyxl/xlrd
-
Zero non-standard library dependencies
No compatibility/version control issues. -
Light-weight single source code file that supports both Python3 and Python2.7.18.
Single source file that can easily be copied directly into a project for true zero-dependency.
Great for those that have installation/download restrictions.
In addition the library's size and zero dependency makes this library pyinstaller compilation small and easy! -
100% test-driven development for highest reliability/maintainability with 100% coverage on all supported versions
-
API aimed to be user friendly and intuitive. Structure: database > worksheet > indexing example:
db.ws('Sheet1').index(row=1,col=2)
ordb.ws('Sheet1').address(address='B1')
Setup
pylightxl is officially published on pypi.org, however one of the
key features of pylightxl is that it is packed light in case the user has pip
and/or download restrictions, see docs - installation
pip install pylightxl
pypi version 1.53
- bug fix: writing to existing file previously would only write to the current working directory, it
now can handle subdirs. In addition inadvertenally discovered a bug in python source code ElementTree.iterparse
wheresource
passed as a string was not closing the file properly. We submitted a issue to python issue tracker.
See full history log of revisions: Here