Skip to main content

Crate csv_cat

Crate csv_cat 

Source
Expand description

§csv-cat

CSV processing built on comp-cat-rs.

All operations return Io<CsvError, _> for composable effect handling. File handles are managed via Resource. Rows stream as Stream<CsvError, Row>.

§Quick start

use csv_cat::{reader, writer, row::Row, error::CsvError};

// Read all rows from a file
let rows = reader::read_all("data.csv", reader::ReaderConfig::new()).run()?;

// Process rows
let names: Vec<String> = rows.iter()
    .filter_map(|row| row.get(0).ok().map(String::from))
    .collect();

// Read from a string
let rows = reader::from_str("a,b\n1,2\n", reader::ReaderConfig::new()).run()?;

// Write to a string
let output = writer::to_string(
    writer::WriterConfig::new(),
    Some(vec!["name".into(), "age".into()]),
    rows,
).run()?;

Modules§

error
Project-wide error type.
reader
CSV reader: streaming rows via Stream<CsvError, Row>.
row
Row: a newtype over a CSV record.
writer
CSV writer: composable writing via Io<CsvError, ()>.