summaryrefslogtreecommitdiff
path: root/src/sheet/loader/native/csv.rs
blob: 6f81645a345f15780ecd7fc94c7990f548e244ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::{fs::File, io::BufReader};

use crate::sheet::{cell::Cell, tablized::Tablized};

pub fn load_csv(path: String) -> Tablized {
    let file = File::open(path).unwrap();
    let reader = BufReader::new(file);
    let mut csv_reader = csv::Reader::from_reader(reader);

    let mut table = Vec::new();

    for record in csv_reader.records().flatten() {
        table.push(record.iter().map(Cell::from).collect::<Vec<Cell>>())
    }

    Tablized::Vector(table)
}