Source code for lodstorage.tabulateCounter
"""
Created on 2021-06-13
@author: wf
"""
from tabulate import tabulate
[docs]
class TabulateCounter(object):
"""
helper for tabulating Counters
"""
def __init__(self, counter):
"""
Constructor
"""
self.counter = counter
[docs]
def mostCommonTable(
self, headers=["#", "key", "count", "%"], tablefmt="pretty", limit=50
):
"""
get the most common Table
"""
bins = len(self.counter.keys())
limit = min(bins, limit)
total = sum(self.counter.values())
binTable = [("total", bins, total)]
for i, bintuple in enumerate(self.counter.most_common(limit)):
key, count = bintuple
binTable.append((i + 1, key, count, count / total * 100.0))
table = tabulate(binTable, headers=headers, tablefmt=tablefmt, floatfmt=".2f")
return table