我有一个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);
}
答案 0 :(得分:0)
String.Split()
是处理CSV数据的可怕方式。它有各种各样的边缘情况无法处理。您需要一个专用的解析器。
这会使用my CSV parser复制您的样本:
foreach (IList<string> row in CSV.FromFile(@"D:\Test.csv") )
{
foreach(string element in row)
{
Console.WriteLine(element);
}
}
它只是您的代码中包含的一个源文件。