У меня есть метод для чтения простого 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();
}