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
CsvRecords
which is anIterator
abstraction forIterTable
.
Functions§
- from_
csv_ reader - Creates
Table
from acsv::Reader
. - from_
path - Creates
Table
from a csvFile
. - from_
reader - Creates
Table
fromRead
er.