我正在解析一种时髦的、专有的纯文本文件格式。
该格式包含 CSV 与非 CSV 的混合。我只对 CSV 部分感兴趣,它位于文件中的某个位置,周围是非 csv。
我想知道是否可以提供CsvReader
/LazyCsvReader
之类的东西,比如包含 CSV 内容的 anstd::io::BufReader
甚至 a Vec<u8>
,而不必提供 an AsRef<Path>
(如果我没有记错的话,它必须指向一个文件)。
我想通过以下方式之一初始化 CSV 读取器:
- 给它一个
BufReader
包含我想读的行的 - 给它一个
Vec<u8>
包含我想读取的所有字节的值。
这可以完成吗?还是我必须编写一个仅包含 CSV 的临时文件?
我尝试给出CsvReader
一个BufReader<File>
,其中我已经将.lines()
迭代器推进到了数据开始的位置。但它似乎CsvReader
在读取之前将光标移动到流的开头。