dcsv

Dynamic csv reader, editor, and writer library.

If you use structured csv data, use csv crate

If you want higher wrapper around csv editing, use ced

changes

Feature

Basic usage

Refer Usage for more usages. But docs.rs is always better in general.

toml [dependencies] dcsv = "*"

```rust use dcsv::{Reader, VirtualData, Value}; use std::fs::File;

let data: VirtualData = Reader::new() .usedelimiter(';') // Default is comma .uselinedelimiter('|') // Default is '\n, \r\n' .datafromstream( BufReader::new( File::open("filename.csv") .expect("Failed to read file") ) ) .expect("Failed to retrieve csv value from file");

// Refer docs.rs for various VirtualData methods let value : Option<&Value> = data.get_cell(1,1); ```

Why?

Most of the times, well known csv crate is much more performant and eaiser to use because csv format doesn't change a lot. However there are cases where program expects undecided csv formats and contents, which means program has to ensure every value is compatible with expected standard. In such case, csv crate's type guarantee is painful to handle with.

See the examples for usages.

Not yet