gpt4 book ai didi

c# - 如何在缓冲读取器中检查 csv 文件中行的最后一列是否为 "True"

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:28 24 4
gpt4 key购买 nike

我有一个 CSV 文件,我正在使用缓冲流逐字节读取数据。如果最后一个 column = "True",我想忽略读取该行。如何实现?

到目前为止我有:

BufferedStream stream = new BufferedStream(csvFile, 1000);
int byteIn = stream.ReadByte();

while (byteIn != -1 && (char)byteIn != '\n' && (char)byteIn != '\r')
byteIn = stream.ReadByte();

如果该行的最后一列为“True”,我想忽略阅读该行

最佳答案

首先,如果不是绝对需要,我不会逐字节处理任何文件 IO。其次,从 .Net 中的文本文件中读取行是一项非常便宜的操作。

这是一些天真的起始代码,它忽略了字符串 CSV 值的可能性:

List<string> matchingLines = new List<string>();
using (var reader = new StreamReader("data.csv"))
{
string rawline;
while (null != (rawline = reader.ReadLine()))
{
if (rawline.TrimEnd().Split(',').Last() == "True") continue;

matchingLines.Add(rawline);
}
}

实际上,建议将每个 CSV 行解析为强类型对象,然后使用 LINQ 对该集合进行过滤。但是,这可以是单独问题的单独答案。

关于c# - 如何在缓冲读取器中检查 csv 文件中行的最后一列是否为 "True",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6255378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com