Я пытаюсь прочитать файл с разделителями каналов без заголовков, используя CsvHelper. Я установил разделитель = "|", установил HasHeaderRecord = false, установил MissingFieldFound = null и IgnoreBlankLines = true. Я заметил, что мой файл содержит пустую строку в конце файла. В моем файле 3 столбца. Я создал объект для помещения этих значений со строковым атрибутом для всех 3. Когда я запускаю свой код, первая переменная содержит все 3 столбца, а другие 2 переменные пусты. Ниже приведен образец файла, который я читаю:
01001001|0.0|0.1200|
01001003|0.0|0.5000|
01008000|1.0|1.9200|
101384|9999.0|0.1000|
103073|9999.0|0.0730|
103074|9999.0|0.1600|
103491|9999.0|0.1460|
Я привожу эту информацию в своем резюме. Я не могу прочитать файл, если у меня нет набора MissingFieldFound. Я получаю следующую ошибку:
«Поле с индексом '1' не существует. Вы можете игнорировать отсутствующие поля, установив для MissingFieldFound значение null».
using (var textReader = new StreamReader(@processFileName))
{
var reader = new CsvReader(textReader);
reader.Configuration.Delimiter = "|";
using (var record = new CsvReader(textReader))
{
record.Configuration.HasHeaderRecord = false;
record.Configuration.MissingFieldFound = null;
record.Configuration.IgnoreBlankLines = true;
var result3 = record.GetRecords<ItemFileInfo>().ToList();
}
}
public class ItemFileInfo
{
public string ItemCode { get; set; }
public string OnHand { get; set; }
public string Weight { get; set; }
}
Я хотел бы иметь возможность правильно проанализировать 3 поля в списке, чтобы я мог внести некоторые изменения в эти значения.
Заранее благодарим вас за любую помощь.