A system to bind aliases to indexes of headers in a matrix
Project description
HeaderIndexer
A system to bind aliases to indexes of headers in a matrix.
Given a dict of header aliases paired to the actual header value (or an iterable of possible values) creates a dict with entries {'alias': column_index}
Includes interactive prompts to manually select headers when unable to find, and optional duplicate checks for aliases sharing indexes
Installation
pip install headerindexer
Using HeaderIndexer
from headerindexer import HI
indexer = HI()
headers = ["Date", "OS", "TrackingID", "DNSHostname", b"DNSHostname", 77]
aliases = {
b'hostname': ["DNSHostname", b'DNSHostname'],
"track": ("1TrackingID1", 'TrackingID'),
"OS": "OperatingSystem",
7: 77
}
aliases_to_indexes = indexer.run(headers, aliases)
Assume we've extracted a row of headers from a spreadsheet. Create a dictionary like aliases, and pass them both to indexer (HI.run())
# aliases_to_indexes, generated above
{b'hostname': 3, 'track': 2, 'OS': 1, 7: 5}
The returned dictionary can be used to reliably call on the appropriate column by given aliases
Headers not found/Duplicates headers
By default, when an alias' header cannot be located headerindexer will prompt the user to manually select from a list of all headers, one by one
Additionally HI.allow_duplicates can be set to False in or after init, enabling a similar mode of prompting whenever two or more aliases share the same index value
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file headerindexer-0.1.5.tar.gz
.
File metadata
- Download URL: headerindexer-0.1.5.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
93ea5509df82deae1a6acb49f70b94d7703e70cffb88b3b4df27450ce0a295ba
|
|
MD5 |
5936177fca1bcee2da936e0e0ce0ba35
|
|
BLAKE2b-256 |
7034ddb0a60f1c9c69acf95ac04dd1b14f3f4f2a4db10c8842688701d9d033df
|
File details
Details for the file headerindexer-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: headerindexer-0.1.5-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
eaeac2ff21cda352ed21d60b0a51f3d5716672ebf262a92a8be7fdbbacd3ddbe
|
|
MD5 |
171cfdc1fbc936d8195acb62085ad016
|
|
BLAKE2b-256 |
793619455afff86fe2f226405444041a05110403608fbd60faf8a15177cc1568
|