如何确定.csv文件中的单元格是否为空?

时间:2015-05-21 16:26:05

标签: c# csv

我试图在一个.csv文件中解析一个列(文件只有一列填充了双数字。)但是当遇到空单元格时C#会抛出错误。

{"Input string was not in a correct format."}

我希望程序在发生这种情况时继续使用下一个单元格。有办法吗?

注意:我试过

if(array[i] != null)

但这似乎不起作用。

我使用此块来读取.csv:

        var column = new List<string>();

        using (var rd = new StreamReader(@"pathofthecsvfile"))
        {
            while (!rd.EndOfStream)
            {
                var splits = rd.ReadLine().Split(';');
                column.Add(splits[0]);
            }
        }

        string[] arr = column.ToArray();
        double[] array = new double[arr.Length];

        //problem is in this block
        for (int i = 0; i < array.Length; i++)
        {
            if (arr[i] != null)
            {
                array[i] = Convert.ToDouble(arr[i]);
            }
        }

2 个答案:

答案 0 :(得分:0)

我会在插入时检查它:

if split[0] != null && split[0] != "" {
    column.Add(splits[0]);
}

答案 1 :(得分:0)

您没有验证要加载到数组中的数据以查看它是否采用有效格式 - Convert.ToDouble将因null值和{{1}以外的其他原因而失败字符串。 如果您只是跳到下一栏感到满意,请在empty循环中使用TryParse

for