zut.dump

zut.dump(data, *, dst: str | Path | IOBase, tabular: bool = None, truncate: bool = None, archivate: bool | str | Path | None = None, title: str | bool | None = None, dst_name: str | bool = True, dir: str | Path = None, headers: Iterable[str | Header] | None = None, delay: bool = True, optional: str | Sequence[str] | Literal['*', True] | None = None, add_columns: bool | Literal['warn'] = False, after1970: bool | None = None, notz: bool | tzinfo | str | None = None, encoding: str | None = None, intfmt: str | None = None, floatfmt: str | None = None, delimiter: str | None = None, decimal_separator: str | None = None, quotechar: str | None = None, nullval: str | None = None, excel: bool | None = None, **kwargs)

Dump an object (if data is not an iterable) or a an iterable of dicts or iterables (if data is an iterable).

NOTE: delay is True by default for dump because we expect the input data to be already produced entirely so we can take time to analyze all the dict keys to determine headers, whereas delay is False by default for dump_tabular or CsvDumper because we expect appended data to be produced on the fly so we favor immediate processing.