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
Hashes for headerindexer-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaeac2ff21cda352ed21d60b0a51f3d5716672ebf262a92a8be7fdbbacd3ddbe |
|
MD5 | 171cfdc1fbc936d8195acb62085ad016 |
|
BLAKE2b-256 | 793619455afff86fe2f226405444041a05110403608fbd60faf8a15177cc1568 |