TinyCsvParser не возвращает никаких результатов - PullRequest
0 голосов
/ 20 декабря 2018

В настоящее время я пытаюсь использовать TinyCsvParser для анализа файла, и я получаю 0 результатов, несмотря на то, что в моем тестовом содержании много записей.Код ниже:

Класс сопоставления:

public class TransactionCsvMapping : CsvMapping<TransactionDto>
{
    public TransactionCsvMapping()
    : base()
    {
        MapProperty(0, x => x.OccurenceDate);
        MapProperty(1, x => x.Name);
        MapProperty(4, x => x.Amount);
    }
}

Класс модели, из которого я пытаюсь создать список из строк CSV:

public class TransactionDto
{
    public string Name { get; set; }

    public double Amount { get; set; }

    public DateTime OccurenceDate { get; set; }
}

Анализ CSVfile:

CsvParserOptions csvParserOptions = new CsvParserOptions(true, ',');
CsvReaderOptions csvReaderOptions = new CsvReaderOptions(new[] { Environment.NewLine });
TransactionCsvMapping csvMapper = new TransactionCsvMapping();
CsvParser<TransactionDto> csvParser = new CsvParser<TransactionDto>(csvParserOptions, csvMapper);

var result = csvParser
    .ReadFromString(csvReaderOptions, fileContents)
    .ToList(); //results is empty here!

и вот содержимое fileContents во время синтаксического анализа:

"Date","Transaction","Name","Memo","Amount"
"9/7/2016","DEBIT","DEBIT PURCHASE","Food Yummy","-4.8000"
"9/7/2016","DEBIT","DEBIT PURCHASE","Gas Blah","-28.0000"

где буквенная строка:

"\"Date\",\"Transaction\",\"Name\",\"Memo\",\"Amount\"\n\"9/7/2016\",\"DEBIT\",\"DEBIT PURCHASE\",\"Food Yummy\",\"-4.8000\"\n\"9/7/2016\",\"DEBIT\",\"DEBIT PURCHASE\",\"Gas Blah\",\"-28.0000\"\n\n"

Почему я не получаю никаких результатов здесь?Как я могу преодолеть это?

1 Ответ

0 голосов
/ 20 декабря 2018

Я успешно получаю результаты, используя ваш код.

enter image description here

используйте \r\n вместо \n в качестве символа новой строки или объявите ваш оператор новой строкис \n

new CsvReaderOptions(new[] { "\n" });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...