Expand description
A library which provides a CSV input abstraction for tabled.
It relies on csv library.
§Example
let csv = "name,designed_by,invented_year\n\
C,Dennis Ritchie,1972\n\
Rust,Graydon Hoare,2010\n\
Go,Rob Pike,2009";
let table = csv_to_table::from_reader(csv.as_bytes()).unwrap().to_string();
let expected = "+------+----------------+---------------+\n\
| name | designed_by | invented_year |\n\
+------+----------------+---------------+\n\
| C | Dennis Ritchie | 1972 |\n\
+------+----------------+---------------+\n\
| Rust | Graydon Hoare | 2010 |\n\
+------+----------------+---------------+\n\
| Go | Rob Pike | 2009 |\n\
+------+----------------+---------------+";
assert_eq!(table, expected);You can also use iter to build an table from Iterator.
It is useful when you have a huge csv and don’t want to load it all along into memory.
But it’s interface might be a little bit less feature full cause of its limitations.
let csv = "name,designed_by,invented_year\n\
C,Dennis Ritchie,1972\n\
Rust,Graydon Hoare,2010\n\
Go,Rob Pike,2009";
let table = csv_to_table::iter::from_reader(csv.as_bytes()).to_string();
let expected = "+------+----------------+---------------+\n\
| name | designed_by | invented_year |\n\
+------+----------------+---------------+\n\
| C | Dennis Ritchie | 1972 |\n\
+------+----------------+---------------+\n\
| Rust | Graydon Hoare | 2010 |\n\
+------+----------------+---------------+\n\
| Go | Rob Pike | 2009 |\n\
+------+----------------+---------------+";
assert_eq!(table, expected);Modules§
- iter
- The module contains
CsvRecordswhich is anIteratorabstraction forIterTable.
Functions§
- from_
csv_ reader - Creates
Tablefrom acsv::Reader. - from_
path - Creates
Tablefrom a csvFile. - from_
reader - Creates
TablefromReader.