Игнорировать разделитель-запятую в CsvHelperC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Игнорировать разделитель-запятую в CsvHelper

Сообщение Anonymous »

У меня есть проект, который использует пакет CsvHelper для анализа файла Excel. К сожалению, я оказался в ситуации, когда мне пришлось игнорировать запятую в качестве разделителя, который, по моему мнению, CsvHelper делает по умолчанию. В файле Excel данные в одном столбце выглядят следующим образом:

Код: Выделить всё

Company_Name
ABC Group, NY
Когда он анализируется и пытается связать его с переменной, я получаю следующее:

Код: Выделить всё

ABC Group
NY
Первая переменная имеет значение ABC Group, а вторая переменная имеет значение NY. Хотя первая переменная должна иметь ABC Group, NY. В бэкэнде я попробовал установить значение разделителя следующим образом:

Код: Выделить всё

var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
Delimiter = "/", //Tried to ignore comma as delimiter
PrepareHeaderForMatch = args => args.Header.ToLower(),
ShouldSkipRecord = (args) =>
{
var companyCode = args.Record[1];
var companyName = args.Record[2]; //Here I get the value and the delimiter actually splits data in this line of code
var companyAccountNumber = args.Record[3];
var pccid = args.Record[16];

var isHeader = pccid?.ToLower().Contains("client_number") ?? false;

var shouldSkip =
string.IsNullOrWhiteSpace(pccid) ||
string.IsNullOrWhiteSpace(companyName) ||
string.IsNullOrWhiteSpace(companyCode) ||
string.IsNullOrWhiteSpace(companyAccountNumber)
&& !isHeader;

if (shouldSkip)
skipped.Add(args.Record);

return shouldSkip;
}
};
К сожалению, когда я использую разделитель для установки, отображается сообщение «Индекс вне границ массива». Есть ли способ справиться с этим в CsvHelper (версия 27.1.1) или игнорировать запятую в качестве разделителя?
Примечание: когда запятая удалена, все работает как положено. Я имею в виду, что данные переносятся в одну переменную.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -csvhelper
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»