通过读取所有行来分组csv数据

时间:2017-08-08 17:24:26

标签: csv c#-4.0

我有以下内容,我需要按季度分组并显示从季度开始到结束的信息

A|Company1|2008-10-01 - 2008-12-31
A|Company1|2009-01-01 - 2009-03-31
A|Company1|2009-04-01 - 2009-06-30
A|Company1|2009-07-01 - 2009-09-30

A|Company1|2010-01-01 - 2010-03-31
A|Company2|2010-01-01 - 2010-03-31
A|Company1|2010-04-01 - 2010-06-30
A|Company2|2010-04-01 - 2010-06-30
A|Company1|2010-07-01 - 2010-09-30
A|Company2|2010-07-01 - 2010-09-30
A|Company1|2010-10-01 - 2010-12-31
A|Company2|2010-10-01 - 2010-12-31

我需要的是

A|Company1|2008-10-01 - 2008-12-31
A|Company1|2009-01-01 - 2009-09-30
A|Company1|2010-01-01 - 2010-12-31
A|Company2|2010-01-01 - 2010-12-31

我需要通过分隔数据来显示各个季度之间的所有信息。如果多家公司发现我需要在一行中显示两行,则应显示所有数据。我尝试了一些代码来过滤到两个列表,但没有得到如何继续获得确切的输出

using (var reader = new StreamReader(@"D:\requirement.csv"))
{
   while (!reader.EndOfStream)
   {
       var line = reader.ReadLine();
       var values = line.LastIndexOf('|');
       string beforeLastIndex = line.Substring(0, values);
       listA.Add(beforeLastIndex);
       listB.Add(line.Substring(values + 1));
   }
}

0 个答案:

没有答案