Skip to main content

A python module to deal with (very) big Excel files.

Project description

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

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 sxl, version 0.0.1a10
Filename, size File type Python version Upload date Hashes
Filename, size sxl-0.0.1a10-py3-none-any.whl (8.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size sxl-0.0.1a10.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page