Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

sxl Overview

This library is intended to help you deal with big Excel files from within Python. After trying pandas, openpyxl, xlwings, and even win32com it seems that none have the ability to iterate over large Excel files without loading them completely into memory. So when you are dealing with files that are extremely large, this can be burdensome (especially if you only want to examine a bit of the file - the first 10 rows say). This library solves that by parsing the SpreadsheetML / XML xlsx files using a streaming parser. So you can see the first ten rows of any tab within any Excel file extremely quickly.

Getting Started

There are no dependancies to install. You just need to:

pip install sxl

Once installed, you can iterate through the entire file without using much memory by doing the following:

from sxl import Workbook
wb = Workbook("filepath")
ws = wb.sheets['sheet name'] # or, for example, wb.sheets[1]
for row in ws.rows:
    print(row)

Note that by default we assume the workbook is encoded with UTF-8. If you need to specifiy a different encoding, you can do so when opening the workbook:

wb = Workbook("filepath", encoding='cp1252')

If you are only interested in a few rows:

head = ws.head(5)
print(head)

Running Tests

To run tests:

python -m tests.test_sxl

License

The project is licensed under the MIT License - see the LICENSE.md file for details

Metadata

Release files for sxl 0.0.1a10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sxl 0.0.1a10
File Size Uploaded
sxl-0.0.1a10.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sxl 0.0.1a10
File Interpreter ABI Platform
sxl-0.0.1a10-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / sxl-0.0.1a10.tar.gz

Download URL sxl-0.0.1a10.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
39026c89fb354e7557704a6ff4ea57c0249bb260572b3a74d901b45188fcf9e7
BLAKE2b-256 checksum
How to use checksums
8156b00de90fc4dff0968d652fc8f9d613e5ad0659a6af6ccfaf3228f0254cb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2

Release files / sxl-0.0.1a10-py3-none-any.whl

Download URL sxl-0.0.1a10-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e6c49b95be4be7dce1b0285bb9f1edda40845a6d062d2be3ed585e8fc683c1ef
BLAKE2b-256 checksum
How to use checksums
fce5f0cee57f15d5df607501476b8954be7b238669cce324fe67b522c014f302
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page