def tabulate(data, header=True, headers=None, accessors=None,
             **table_options):
    """ Shortcut function to produce tabular output of data without the
    need to create and configure a Table instance directly. The function
    does however return a table instance when it's done for any further use
    by the user. """
    if header and not headers:
        data = iter(data)
        try:
            headers = next(data)
        except StopIteration:
            pass
    if headers and hasattr(headers, 'items') and accessors is None:
        # Dict mode; Build accessors and headers from keys of data.
        data = itertools.chain([headers], data)
        accessors = list(headers)
        headers = [' '.join(map(str.capitalize, x.replace('_', ' ').split()))
                   for x in accessors]
    t = Table(headers=headers, accessors=accessors, **table_options)
    try:
        t.print(data)
    except RowsNotFound:
        pass
    return t
def tabulate ( data , header = True , headers = None , accessors = None , ** table_options ) : if header and not headers : data = iter ( data ) try : headers = next ( data ) except StopIteration : pass if headers and hasattr ( headers , 'items' ) and accessors is None : data = itertools . chain ( [ headers ] , data ) accessors = list ( headers ) headers = [ ' ' . join ( map ( str . capitalize , x . replace ( '_' , ' ' ) . split ( ) ) ) for x in accessors ] t = Table ( headers = headers , accessors = accessors , ** table_options ) try : t . print ( data ) except RowsNotFound : pass return t
Shortcut function to produce tabular output of data without the
    need to create and configure a Table instance directly. The function
    does however return a table instance when it's done for any further use
    by the user.