zjbonrace
2015-01-25 12:45
采纳率: 99.1%
浏览 1.9k
已采纳

link如何对一个文件夹下的数据文件排序,报错,Index out of range

link如何对一个文件夹下的数据文件排序,报错,Index out of range

List data = new List();
foreach (var file in Dictionary.GetFiles("e:\华新采集", "*.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("aaa.txt", query);

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 兔子党-督察 2015-01-25 13:02
    已采纳

    .GroupBy(x => x[1])y[3]

    问题多数出在这,这个需要你自己调试一下

    打赏 评论
  • threenewbee 2015-01-25 12:49
     可能有两个问题,一个是空行,一个是分隔符,试试看
    char spchar = '\t'; //如果不行换成 ' '。
    data.AddRange(File.ReadAllLines(file).Where(x => x.Split(spchar).Count() == 3));
    下面的\t也是如此
    
    打赏 评论
  • threenewbee 2015-01-25 13:09

    呵呵,解决了就好。

    打赏 评论

相关推荐 更多相似问题