从csv中删除空行c#

时间:2016-08-16 09:30:20

标签: c# csv

id喜欢在下面的图片中删除/跳过这些突出显示的行,因此它们不再出现在csv文件中。如下所示,它将两行显示为(,,)因为行是空的。

你也可以在代码中看到我试图在两种方法中使用string.Empty,但似乎没有得到任何地方,因为我不确定如何做到这一点。

任何建议

 class Program
{
    static void Main(string[] args)
    {
        var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Santander .csv");
        var fileContents = ReadFile(filePath);
        foreach (var line in fileContents)
        {
            if (!line.Equals(String.Empty))
                continue;
            Console.WriteLine(line);
        }

        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();
    } 

    public static IList<string> ReadFile(string fileName)
    {
        var results = new List<string>();
        var target = File.ReadAllLines(fileName)
                 .ToList();
        foreach (string currentLine in target)
        {
            if( !currentLine.Equals( String.Empty ) )
            {
                continue;
            }


        }

         File.WriteAllLines(fileName, target);

        return results.ToList();

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过使用,拆分每行并比较前两列来过滤行。

var nonEmptyLines = File.ReadAllLines(fileName)
                        .Where(x=> !x.Split(',')
                                     .Take(2)
                                     .Any(cell=> string.IsNullOrWhiteSpace(cell))
                                     // use `All` if you want to ignore only if both columns are empty.  
                         ).ToList();

File.WriteAllLines(fileName, nonEmptyLines);