You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 使用StreamReader读取CSV文件时如何跳过全为空值的行

实现方案

你需要在拆分得到字段数组后,校验数组是否所有元素都为空字符串,校验不满足全空条件时才执行后续转换逻辑即可。

首先确保你的代码引入了Linq命名空间:
using System.Linq;

修改后的完整代码如下:

using (StreamReader reader = new StreamReader(stream))
{
    // 跳过首行(如果你的CSV没有表头可以删掉这行)
    reader.ReadLine();

    while (reader.Peek() != -1)
    {
        var line = reader.ReadLine();
        // 先过滤本身就是空/全空白的行,避免后续操作抛出空引用异常
        if (string.IsNullOrWhiteSpace(line)) 
        {
            continue;
        }
        string[] data = line.Split(',');
        
        // 核心过滤逻辑,二选一即可
        // 写法1:严格过滤所有字段完全等于空字符串""的行
        if (data.All(field => field == string.Empty))
        {
            continue;
        }
        // 写法2:宽松过滤,字段包含空格、制表符等空白内容也判定为空行
        // if (data.All(field => string.IsNullOrWhiteSpace(field)))
        // {
        //     continue;
        // }

        // Convert data into an object
        ...
    }
}

内容的提问来源于stack exchange,提问作者drai29

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:06:04