Selecto.Output.Transformers.CSV
(Selecto v0.4.5)
Copy Markdown
CSV transformer for Selecto query results.
Converts query results to CSV format with configurable options:
- Headers: Include/exclude column headers
- Delimiter: Custom field separators (comma, tab, semicolon, etc.)
- Quoting: Proper escaping for special characters
- Null handling: Custom null value representation
- Streaming: Efficient processing for large datasets
Options
:headers- Include headers (default: true):delimiter- Field separator (default: ","):quote_char- Quote character (default: """):null_value- Null representation (default: ""):force_quotes- Quote all fields (default: false):line_ending- Line ending style (default: "\n")
Examples
iex> Selecto.Output.Transformers.CSV.transform(
...> [["Alice", 25], ["Bob", 30]],
...> ["name", "age"],
...> ["name", "age"]
...> )
{:ok, "name,age\nAlice,25\nBob,30\n"}
iex> Selecto.Output.Transformers.CSV.transform(
...> [["John, Jr.", nil]],
...> ["full_name", "age"],
...> ["full_name", "age"],
...> delimiter: ";", null_value: "N/A"
...> )
{:ok, "full_name;age\n\"John, Jr.\";N/A\n"}
Summary
Functions
Transform query results to CSV format with streaming support.
Transform query results to CSV format.
Functions
Transform query results to CSV format with streaming support.
Returns a stream that yields CSV lines (including header if configured). Efficient for large datasets as it processes rows one at a time.
Transform query results to CSV format.
Returns the complete CSV as a string with optional headers and properly escaped values.