C# 如何按多行对文本进行分组
我有一个这样的文件 我正在看文件 我需要从文件开始将其按5行分组C# 如何按多行对文本进行分组,c#,C#,我有一个这样的文件 我正在看文件 我需要从文件开始将其按5行分组 结果列表将包含第1列中的第一列、第4列中的最高列、第4列中的最低列、第3列的总和 搜索为我提供了按某些id分组的解决方案,没有按多行分组的解决方案 提前谢谢 20170208 10:00:23 2 8.690 20170208 10:00:25 2 8.690 20170208 10:00:26 2383 8.690 20170208 10:00
结果列表将包含第1列中的第一列、第4列中的最高列、第4列中的最低列、第3列的总和 搜索为我提供了按某些id分组的解决方案,没有按多行分组的解决方案 提前谢谢
20170208 10:00:23 2 8.690
20170208 10:00:25 2 8.690
20170208 10:00:26 2383 8.690
20170208 10:00:26 1 8.690
20170208 10:00:26 7616 8.690
20170208 10:00:26 1 8.690
20170208 10:00:31 500 8.690
20170208 10:00:36 2 8.690
20170208 10:00:38 2 8.690
20170208 10:00:41 2000 8.690
20170208 10:00:41 250 8.690
20170208 10:00:41 25 8.680
20170208 10:00:42 25 8.680
GroupBy
(按行数整除技巧组)和First
/Min
/Max
/Sum
是必需的。当然,您还需要将字符串解析为实际类型:
var newLines = File.ReadLines(path)
.Select((line, index) => new { line, index, fields = line.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries) })
.GroupBy(x => x.index / 5)
.Select(g => new
{
Col1First = g.First().fields[0],
Col4Max = g.Max(x => decimal.Parse(x.fields[3], NumberFormatInfo.InvariantInfo)),
Col4Min = g.Min(x => decimal.Parse(x.fields[3], NumberFormatInfo.InvariantInfo)),
Col3Sum = g.Sum(x => int.Parse(x.fields[2]))
})
.ToList();
看看[如何提问](),你什么都没试过?至少展示一下你的预期结果。也许看看和。对不起,我什么都没有,真的