2016-10-01 5 views
1

からのレコードでは、私は、CSVが中へグループcsvファイル

enter image description here

ファイルをロードしていますか?

ここで私は何をしたのですか?ただし、ファイルのバージョン列である最初の列でグループ化する方法はわかりませんでした。

var records = csvLinesData.Select(data => new ReleaseVersion 
     { 

      Version = data[0], 
      ReleaseDate = TryParse(data[1]), 
      // add list of ReleaseNote ?? 
     }).ToList(); 

答えて

4

最初の項目にジャストGroupBy

DateTime date; 

    var records = csvLinesData 
    .GroupBy(line => line[0]) // line[0] is version we want to group by on 
    .Select(chunk => new ReleaseVersion() { 
     Version = chunk.Key, 
     ReleaseDate = DateTime.TryParse(chunk.First()[1], out date) 
      ? (DateTime?) date 
      : null, 
     ReleaseNotes = chunk 
     .Select(item => new ReleaseNote() { 
      Description = item[2], 
      Progress = item[3], 
      Status = item[4], }) 
     .ToArray(), }) 
    .ToList();