Skip to main content

flatten

Flattens nested data structures into key-value / dotted-path records (distinct from --flatten-nested on other commands, which unfolds nested fields in place).

undatum flatten data.jsonl
undatum flatten data.jsonl --filter '`type` == "city"' --output flat.jsonl

flatten does not take --flatten-nested (it already emits dotted paths). It does accept --output, --filter, --table / --sheet, --format-in, --quotechar, --trust, --on-error, --error-log, --delimiter, and --encoding. See shared CLI options.

Reference​

Reads: any readable format · Writes: one field: value line per value · Memory: streaming · Engines: python

undatum flatten [OPTIONS] INPUT_FILE
ArgumentDescription
INPUT_FILEPath to input file. (required)
OptionDescriptionDefault
-o, --output TEXTOptional output file path. If not specified, prints to stdout.
-d, --delimiter TEXTCSV delimiter character (auto-detected when omitted).
--quotechar TEXTCSV quote character (iterabledata default '"' when omitted).
--encoding TEXTFile encoding (e.g., 'utf8', 'latin1').utf8
-F, --format-in TEXTOverride input file format detection (e.g., 'jsonl', 'xml').
--filter, --filter-expr TEXTFilter expression to apply before flattening.
--verbose / --no-verboseEnable verbose logging output.--no-verbose
--table, --sheet TEXTTable or sheet name for multi-table sources (Excel, SQLite, lakehouse).
--start-page INTEGERSheet index (0-based) for Excel files.0
--trustAcknowledge pickle deserialization risk when reading pickle sources.
--on-error TEXTParse-error policy: raise (default), skip, or warn.
--error-log TEXTAppend parse errors as JSONL (use with --on-error skip or warn).

See also shared options.