读取所有 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']
我能够将第一行(这是我的 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']