前面是标题,标题不管它,下面有空行,之后是数据,数据有三列
标题标题标题
1 2kau 500
2 wd5u 450
3 m2nt 100
...
现在要按照第二列排序,还有,不同文件相同的数据,第三列要求和,第一列还是要1 2 3这样排下去
如果数据量不大,建议一次性读进来排序
List<string> data = new List<string>();
foreach (var file in Dictionary.GetFiles("c:\\yourpath", "*.txt"))
{
data.AddRange(File.ReadAllLines(file).Skip(2));
}
var query = data.Select(x => x.Split('\t')).GroupBy(x => x[1]).OrderBy(x => x.Key).Select((x, i) => string.Format("{0}\t{1}\t{2}", i + 1, x.Key, x.Sum(y => int.Parse(y[3]))));
File.WriteAllLines("新文件名", query);
你自己会做到那一步呢?给你的思路是:
如果数据量不大,就但所有的数据都读到内存中。在内存的存贮为结构体,然后对结构体进行排序。
相同的数据?是怎么个判断方法,第一行一样、还是第二行一样?