flat_file_renderers.separated_value module
- class flat_file_renderers.separated_value.CsvRenderer(context: dict[str, any])[source]
Bases:
FlatDelimitedRendererRenders data as CSV (Comma-Separated Values).
Uses comma as delimiter and ‘.csv’ extension.
- class flat_file_renderers.separated_value.FlatDelimitedRenderer(context: dict[str, any])[source]
Bases:
BaseRendererRenders data as delimiter-separated values (CSV or TSV).
This base class exports tabular data into delimiter-separated files, such as CSV (comma) or TSV (tab).
- The context must contain the ‘dataset’ key, which can be:
A QuerySet-like iterable: columns are inferred from the record fields.
A dict: must contain ‘rows’ (list of dicts) and ‘cols’ (list of column names).
A list: list of dicts, columns inferred from the first item’s keys.
- Usage examples:
renderer = CsvRenderer({‘dataset’: {‘cols’: [“Name”, “Age”], ‘rows’: [{“Name”: “Alice”, “Age”: “30”}]}}) csv_file = renderer.render({‘dataset’: …}) with open(“data.csv”, “wb”) as f:
f.write(csv_file.read_bytes())
renderer = CsvRenderer({}) csv_file = renderer.render({‘dataset’: [{“Name”: “Alice”, “Age”: “30”}, {“Name”: “Bob”, “Age”: “25”}]})
- property delimiter
Returns the delimiter used to separate values.
- Returns:
Delimiter (comma by default).
- Return type:
str
- render(context: dict[str, any], *args, **kwargs) Path[source]
Renders the data as delimiter-separated values and writes it into a temporary zip file on disk.
- Parameters:
context (dict) – Dict holding the data to render. Must contain the ‘dataset’ key.
*args – Extra positional arguments.
**kwargs – Extra keyword arguments.
- Returns:
Path to the compressed (zip) file containing the delimited file(s).
- Return type:
Path
- class flat_file_renderers.separated_value.TsvRenderer(context: dict[str, any])[source]
Bases:
FlatDelimitedRendererRenders data as TSV (Tab-Separated Values).
Uses tab as delimiter and ‘.tsv’ extension.