Source code for petl

"""
The `petl` module.

"""


from __future__ import absolute_import, print_function, division


from petl.util import header, fieldnames, data, records, rowcount, look, see, \
    itervalues, values, iterdata, valuecounter, valuecounts, \
    valueset, isunique, lookup, lookupone, recordlookup, recordlookupone, \
    typecounter, typecounts, typeset, parsecounter, parsecounts, \
    stats, rowlengths, DuplicateKeyError, datetimeparser, dateparser, \
    timeparser, boolparser, \
    expr, limits, strjoin, valuecount, lookall, dataslice, parsenumber, \
    stringpatterns, stringpatterncounter, randomtable, dummytable, \
    diffheaders, diffvalues, columns, facetcolumns, heapqmergesorted, \
    shortlistmergesorted, progress, clock, isordered, rowgroupby, nrows, \
    nthword, lookstr, listoflists, tupleoftuples, listoftuples, tupleoflists, \
    lol, tot, tol, lot, iternamedtuples, namedtuples, iterrecords, dicts, \
    iterdicts, dictlookup, dictlookupone, cache, empty, numparser, coalesce

from petl.io import *

from petl.transform import *


__version__ = VERSION = '0.25'


[docs]def lenstats(table, field): """ Convenience function to report statistics on value lengths under the given field. E.g.:: >>> from petl import lenstats >>> table1 = [['foo', 'bar'], ... [1, 'a'], ... [2, 'aaa'], ... [3, 'aa'], ... [4, 'aaa'], ... [5, 'aaaaaaaaaaa']] >>> lenstats(table1, 'bar') {'count': 5, 'errors': 0, 'min': 1.0, 'max': 11.0, 'sum': 20.0, 'mean': 4.0} """ return stats(convert(table, field, lambda v: len(v)), field) # convenience aliases
eq = selecteq ne = selectne lt = selectlt gt = selectgt le = selectle ge = selectge true = selecttrue false = selectfalse none = selectnone notnone = selectnotnone counts = valuecounts move = movefield