在数据统计、数据分析,以及日常文件处理方面,CSV 文件非常常用。Rust 生态中,csv crate 对于 CSV 文件的处理提供了非常强大的支持。
本实例中,我们通过在 Rust 中,应用 csv crate 读取 CSV 记录、读取有不同分隔符的 CSV 记录、筛选匹配断言的 CSV 记录、用 Serde 处理无效的 CSV 数据、将记录序列化为 CSV、用 Serde 将记录序列化为 CSV、转换 CSV 文件的列等案例,对 Rust 的 CSV 文件处理做一个认知。
读取 CSV 记录
将标准的 CSV 记录读入 csv::StringRecord——一种弱类型的数据表示方式,它需要 CSV 中的行数据是有效的 UTF-8 字符编码。另外,csv::ByteRecord 对 UTF-8 不做任何预设。
use csv::Error;fn main() -> ResultError> {
let csv = "year,make