Skip to main content

A light weight excel read/writer for python27 and python3 with no dependencies

Project description

pylightxl - A Light Weight Excel Reader/Writer


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.

Please help us spread the word about pylightxl to the community by voting for pylightxl to be added to python-awesome list. Follow the LINK and upvote the pull request in the top right corner

Project featured on PythonBytes Podcast Episode #165


  • Reader supports .xlsx and .xlsm file extensions.
  • Writer only supports .xlsx (no macros/buttons/graphs/formatting)


  • 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:'Sheet1').index(row=1,col=2) or'Sheet1').address(address='B1')


pylightxl is officially published on, 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 where source 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


If you have any questions or feedback, we would love to hear from you - send us a post directly on GitHub.

We try to keep an active lookout for users trying to solve Microsoft Excel related problems with python on Stack Overflow. Please help us build on the great community that python already is by helping others get up to speed with pylightxl!

From everyone in the pylightxl family, thank you for visiting!


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pylightxl, version 1.53
Filename, size File type Python version Upload date Hashes
Filename, size pylightxl-1.53-py3-none-any.whl (20.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pylightxl-1.53.tar.gz (31.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page