读取所有 csv 行

Reading all csv lines

我能够将第一行(这是我的 csv 文件中的死者)读为“

import encoding.csv

    path:="file.csv"
    //mut f := os.read_file(path) or {println(err) return}
    f := os.read_file(path)?
    c:=csv.new_reader(f)
    r:=c.read()?

    println(r)

但是我怎样才能阅读那里的所有行呢?

我试过了:

    path:="file.csv"
    rows := os.read_lines(path)? 
    for row in rows {
        mut c:=csv.new_reader(row)
        mut r:=c.read()?
        println(r)
    }

但是我得到了:

V panic: encoding.csv: could not find any valid line endings
print_backtrace_skipping_top_frames is not implemented

V 尚未达到 v1.0。因此,可以预料这样的事情是行不通的。在 vlang GitHub 存储库上提出问题可能比在此处寻求帮助更好。

这是一种解决方案:

import os
import encoding.csv

fn main() {
    content := os.read_file('./file.csv') ?
    mut reader := csv.new_reader(content)
    reader.read() ? // Skip the first line
    for {
        line_data := reader.read() or {
            break
        }
        println(line_data)
    }
}

我的文件 file.csv 包含以下几行:

a,b,c
a1,b2,c3
a4,b5,c6

我得到这个结果:

['a1', 'b2', 'c3']
['a4', 'b5', 'c6']