读取csv使用逗号分隔忽略双引号和空格使用流阅读器

本文关键字:空格 csv 分隔 读取 | 更新日期: 2023-09-27 18:08:17

我有一个CSV,它的数据在记事本中打开时看起来像:

TEST DATA1,,,,,,
TEST DATA,,,,,,
",12:10,,10:30",,,,",,11:30",,",,12:30"
location,Value1,,Value2,,Value3
mumbai-20,1.2,,,2.3,,3.4
pune-33,1.8,,,2.34,,4.5

我想使用streamReader来阅读这个,忽略逗号,双引号和空格。

我使用的代码是

    var reader = new StreamReader(File.OpenRead(@"D:'Test.csv"));
      while (!reader.EndOfStream)
               {
var line = reader.ReadLine();
 var array = line.Split(',');
 foreach (var element in array)
                   Console.WriteLine(element);
               }

读取csv使用逗号分隔忽略双引号和空格使用流阅读器

String.Split()是一种非常糟糕的处理CSV数据的方式。有各种各样它无法处理的边缘情况。相反,您需要一个专用解析器。

使用我的CSV解析器复制您的示例:

foreach (IList<string> row in CSV.FromFile(@"D:'Test.csv") )
{
    foreach(string element in row)
    {
        Console.WriteLine(element);
    }
}