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

Documentation

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


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) or db.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.47

  • added new function: db.nr('table1') returns the contents of named range "table1"
  • added new function: db.ws('Sheet1').range('A1:C3') that returns the contents of a range it also has the ability to return the formulas of the range
  • updated db.ws('Sheet1').row() and db.ws('Sheet1').col() to take in a new argument formual that returns the formulas of a row or col
  • bugfix: write to existing without named ranges was throwing a "repair" error. Fixed typo on xml for it and added unit tests to capture it
  • added new function: xl.readcsv(fn, delimiter, ws) to read csv files and create a pylightxl db out of it (type converted)
  • added new function: xl.writecsv(db, fn, ws, delimiter) to write out a pylightxl worksheet as a csv

See full history log of revisions: Here


Contact/Questions/Suggestions

If you have any questions or feedback, we would love to hear from you - send us an realpydpiper@gmail.com or 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!

logo

Project details


Download files

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

Source Distribution

pylightxl-1.47.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylightxl-1.47-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file pylightxl-1.47.tar.gz.

File metadata

  • Download URL: pylightxl-1.47.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for pylightxl-1.47.tar.gz
Algorithm Hash digest
SHA256 2a48dd19a87684ae7ec620852b9263da60ee49376991672f5847e2f7718c2bf3
MD5 5e3c2ff737ddff210541f9db69111eee
BLAKE2b-256 a71ecc5a8864b074460f21f517c9315fd7a31b9df7a33f36d8cdf83a6016f9d4

See more details on using hashes here.

File details

Details for the file pylightxl-1.47-py3-none-any.whl.

File metadata

  • Download URL: pylightxl-1.47-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for pylightxl-1.47-py3-none-any.whl
Algorithm Hash digest
SHA256 791e019ea181539082bf9cb7a541fa6b8303e9069155d7524eb94209a3a29359
MD5 fba55a3cd6b2fa5817f3b1ce696cf981
BLAKE2b-256 7d91fe3f2549367a50d44badaa2d5be9865372c60e1995db0cbe2af5367e70e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page