labm8.fmt

String formatting utils.

exception labm8.fmt.Error

Module-level error.

labm8.fmt.table(rows, columns=None, output=None, data_args={}, **kwargs)

Return a formatted string of “list of list” table data.

See: http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.html

Examples

>>> fmt.print([("foo", 1), ("bar", 2)])
     0  1
0  foo  1
1  bar  2
>>> fmt.print([("foo", 1), ("bar", 2)], columns=("type", "value"))
  type  value
0  foo      1
1  bar      2
Parameters:
  • rows (list of list) – Data to format, one row per element, multiple columns per row.
  • columns (list of str, optional) – Column names.
  • output (str, optional) – Path to output file.
  • data_args (dict, optional) – Any additional kwargs to pass to pandas.DataFrame constructor.
  • **kwargs – Any additional arguments to pass to pandas.DataFrame.to_string().
Returns:

Formatted data as table.

Return type:

str

Raises:

Error – If number of columns (if provided) does not equal number of columns in rows; or if number of columns is not consistent across all rows.