读取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);
}
String.Split()
是一种非常糟糕的处理CSV数据的方式。有各种各样它无法处理的边缘情况。相反,您需要一个专用解析器。
使用我的CSV解析器复制您的示例:
foreach (IList<string> row in CSV.FromFile(@"D:'Test.csv") )
{
foreach(string element in row)
{
Console.WriteLine(element);
}
}