在c#中添加多个CSV

时间:2014-08-27 10:03:42

标签: c# csv merge

我在一个文件夹中生成多个CSV,我必须合并它们并制作一个文件。

P.S。 他们都有相同的标题。 2.他们的名字不是固定的,每隔一天都会根据日期和其他一些参数进行更改。

1 个答案:

答案 0 :(得分:1)

没有经过测试,但应该给你一个想法:

var allCsv = Directory.EnumerateFiles("Src-Path", ".*csv", SearchOption.TopDirectoryOnly);
string[] header = { File.ReadLines(allCsv.First()).First(l => !string.IsNullOrWhiteSpace(l)) };
var mergedData = allCsv
    .SelectMany(csv => File.ReadLines(csv)
        .SkipWhile(l => string.IsNullOrWhiteSpace(l)).Skip(1)); // skip header of each file
File.WriteAllLines("Dest-Path", header.Concat(mergedData));

请注意,您必须添加using System.Linq;