Как использовать CSVHelper, чтобы прочитать вторую строку в файле CSV

StackOverflow https://stackoverflow.com//questions/25014046

  •  21-12-2019
  •  | 
  •  

Вопрос

У меня есть файл CSV с двумя линиями, первый - это заголовка, которая включает в себя 36 столбцов, разделенных ,

Вторая строка - это значения, которые составляют 36 значение, разделенные ,

Я хочу прочитать вторую строку, я обнаружил, что все люди говорят о Csvhelper Package , так что я Скачайте его, но у него нет генеракодицетагода, чтобы добавить в мой проект.

Мой вопрос - это включить его и как прочитать вторую строку.

Я знаю, что могу установить его, используя dll, но я не хочу таким образом, потому что я хочу развернуть это приложение на сервере. Таким образом, я бы предпочел, если есть способ, как и генеракодицетагкод или что-то.

Если я знал, как его включить, чтение второй строки не будет сложным. Я бы сделал что-то подобное:

  1. Загрузить файл CSV
  2. Прочитайте первую строку и игнорируйте ее.
  3. Прочитайте вторую строку и разделите ее Install-Package CsvHelper.
Это было полезно?

Решение

Вы можете использовать TextReader.ReadLine(), чтобы пропустить первую строку:

using (TextReader reader = File.OpenText("filename"))
{
    reader.ReadLine();
    // now initialize the CsvReader
    var parser = new CsvReader( reader ); // ...
}
.

Другие советы

Принятый ответ - это обходной путь к проблеме, но библиотека имеет первоклассное решение для этого общего случая

Класс CsvConfiguration имеет свойство HasHeaderRecord, который может быть установлен на true, это приведет к тому, что библиотека пропустит первую строку в файле.

CsvConfiguration configuration = new CsvConfiguration { HasHeaderRecord = true };

using (TextReader sr = new StringReader(fileContent))
{
    CsvReader reader = new CsvReader(sr, configuration);
}
.

Вот фрагмент Документация

Этот флаг говорит читателю / писателю, если в файле CSV есть строка заголовка.

Обновление в новее версию библиотеки RENACODICODCODE класса просто переименовывается в CsvConfiguration

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top