Metadata-Version: 2.1
Name: EXCELerator
Version: 0.7
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, configurable library for reading tabular data from Excel worksheets.
It is a wrapper around the excellent openpyxl library.

# Use Case
The primary use case for EXCELerator is for reading data from excel 
forms that were filled out by someone other than yourself. If you're ever had
to do this, you'll recognize the following issues: 
- The worksheet does not the right name.
- The headers are in the wrong place (displaced down and/or to the right or in the wrong order)
- The headers are slightly modified (maybe whitespace or a new line characters added for aesthetics)
- Entire fields are missing. Or there are extra fields.

Whatever the changes - by the time it got back to you, the Excel form has changed *just enough* 
to throw a wrench into the pandas, openpyxl, or xlrd script you wrote. 
At this point, you could quality check each form manually. But this is arduous and error prone.

Or you could do the heavy lifting using EXCELerator's 
TableParser, FieldParser, WorksheetParser, and Normalize classes:
- Specificy the field names you expect to find
- Allow approximate field matches.
- Allow or suppress exceptions for missing fields or worksheets.
- Set the headers row number or have EXCELerator find the header row.  
- Normalize data per field or for the entire table
- Read data as a collection of records (i.e. rows) or fields (i.e. columns)  

This is just a small sampling of EXCELerator fuctionality. 
See [the documentation](https://excelerator.readthedocs.io/) for full details.  

# Basic Usage
```powershell
pip install EXCELerator
```

```python
from excelerator import TableParser

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

# A Work in Progress
The library currently has a sparse set of features. More are coming quickly.

