C# Консольное приложение - удаление строк в списке, начинающихся со строки - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть метод для чтения простого CSV-файла в IList, который я затем буду использовать для выполнения запросов и работы с данными, а затем записывать некоторые вещи в другой файл. Мне удалось прочитать данные в этом списке, пропустив все пустые или пустые / пробельные строки, но у меня возникла проблема: примерно каждые 200 записей (и это не ТОЧНО, это может быть немного раньше или позже, ) У меня есть строка заголовка, который был записан в файл CSV. Мне нужно обязательно пропустить чтение этой строки заголовка (которая начинается со строки «Имя» в столбце 1) при помещении этих данных в мой IList. Эта строка заголовка может появляться несколько раз в источнике данных, поэтому мне нужно убедиться, что я проверяю каждую строку в этом методе, поскольку она считывает данные в список, и пропускает любую строку / строку «заголовка», начинающуюся с «Имя» в столбце 1.

Мой код для считывания данных в Список приведен ниже. Какие-либо предложения? Я не могу реально контролировать файл CSV, из которого мне нужно прочитать, поэтому очистка и игнорирование этой строки должны выполняться, когда я считываю данные в свою программу.

    string path2 = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    string csvPath = path2 + "\\" + "AleksReport.csv";

    public static IList<string> ReadFile(string csvPath)
    {
        List<string> myList = new List<string>();

        return (from line in File.ReadAllLines(csvPath)
                where !string.IsNullOrWhiteSpace(line)
                let columns = line.Split(',')
                where columns.Length >= 2 &&
                !string.IsNullOrWhiteSpace(columns[0]) &&
                !string.IsNullOrWhiteSpace(columns[1]) &&
                select line).ToList();


    }

1 Ответ

0 голосов
/ 21 февраля 2020

Итак, похоже, по некоторым комментариям - я разобрался в своей проблеме! Мне удалось позаботиться об этом, выполнив сравнение строк в каждой строке, когда я запишу файл обратно в набор данных результатов после выполнения моих запросов и преобразования данных. Я могу спокойно игнорировать строки, о которых мне не нужно беспокоиться. Это включает в себя быструю дополнительную функцию чтения / записи, но это так тривиально!

Я не могу поверить, что был настолько глуп, чтобы что-то упустить из виду в этом случае c. Спасибо всем!

...