Metadata-Version: 2.1
Name: EXCELerator
Version: 0.5
Summary: Library for reading tabular data from excel in a very forgiving manner.
Home-page: https://github.com/jonathanchukinas/excelerator
License: UNKNOWN
Keywords: xlrd openpyxl Excel xlsx xls excel
Author: Jonathan Chukinas
Author-email: chukinas@gmail.com
Requires-Python: >=3.6.3
Description-Content-Type: text/markdown
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: openpyxl
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: sphinx; extra == "test"
Requires-Dist: m2r; extra == "test"
Provides-Extra: test

# Overview
EXCELerator is high-level, very configurable library for reading tabular data from Excel worksheets. It is a wrapper around the excellent openpyxl library

# Yet another library for reading from Excel!?
Yes. At the time of this library's authoring, excel readers fell into two camps:
- lower-level libraries like openpyxl and xlrd, which offer high functionality. But as a frequent Excel user, I found myself often rewriting the same code to perform the same tasks.
- simple libraries like excel2dict and excel2json
- middleware like django-excel and pyexcel whose focus is reading from and writing to excel.

The use case that none of these helped with was reading tabular data from excel forms that have been filled out by your coworkers. You know how this works. They're given a form to fill out, and by the time it gets back to you, it's been modified, even if slightly. Sometimes the header row gets displaced a few rows down or a few columns to the right. Sometimes a header is changed slightly - perhaps a whitespace was added to the end or a newline was inserted to make the header look nicer to the user.

Either way, by the time it got back to you, it changed *just enough* to throw a wrench into the pandas, openpyxl, or xlrd script you wrote. 

Up until now, you were forced to simply normalize each of these forms before reading the data. But now you can let EXCELerator do the heavy lifting.

# Future
The library current has a sparse set of features. But more are coming quickly.

# Tutorial
```powershell
pip install EXCELerator
```

```python
from excelerator import TableReader

path = r'path\to\excel\sheet.xlsx'
sheetname = 'worksheet name'
tr = TableReader()
my_table_as_dict = tr.get_fields(path, sheetname)
```
