Я пытаюсь проанализировать файл CSV, некоторые строки которого закомментированы символом «#».
Я использую класс конфигурации CsvHelper для установки конфигурации CsvReader. Однако, похоже, он не регистрируется и по-прежнему читает мои прокомментированные строки в качестве входных данных.
var config = new Configuration
{
Delimiter = ",",
Comment = '#',
Quote = '"',
HasHeaderRecord = false,
};
using (var stream = new StreamReader(filepath))
using (var reader = new CsvReader(stream, config))
{
while (reader.Read())
{
BsonDocument doc = new BsonDocument
{
{ "A", reader.GetField(0)},
{ "B", reader.GetField(1)},
{ "C", reader.GetField(2).ToLower()},
{ "D", reader.GetField(3)},
{ "E", Convert.ToBoolean(reader.GetField(4))},
{ "F", Convert.ToBoolean(reader.GetField(5))}
};
}
}
Пример моих данных в моем файле input.csv:
#fieldA,fieldB,fieldC,fieldD,fieldE,fieldF
valueA,valueB,valueC,valueD,true,false
valueA,valueB,valueC,valueD,true,false
#valueA,valueB,valueC,valueD,true,false
valueA,valueB,valueC,valueD,true,false
#
. Вы пытались установить его явно, а не в конструкторе, таком какreader.Configuration.Comment = 'value'
внутри использования? Такое же поведение? Установите один за раз. - person ALFA   schedule 05.04.2019Console.WriteLine(reader.Configuration.Comment);
, а она распечатала#
- person Koh   schedule 05.04.2019AllowComments
в конфигурации наtrue
. - person ALFA   schedule 05.04.2019var config = new Configuration { Delimiter = ",", //Comment = '#', Quote = '"', HasHeaderRecord = false, AllowComments = true, };
- person Koh   schedule 05.04.2019#
в комментарии? - person ALFA   schedule 05.04.2019Comment = Convert.ToChar("#")
, это работает. Это какой-то баг? - person Koh   schedule 05.04.2019