Filehelpers CSV parsing. How to use the FieldQuoted attribute?

I have a CSV that looks like this:

a,b,c a,b,c a,"b,c",d 

I mark the second field in a class with an attribute separator:

 [FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.AllowForRead)] public String ExchangeRate; 

But the 3rd line is still "b, c" parsed as 2 separate values.

Do you know what I'm doing wrong?

thanks

+7
source share
1 answer

I do not see anything wrong with your code. I just checked: the following program works fine:

 [DelimitedRecord(",")] public class MyClass { public string Field1; [FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.AllowForRead)] public string ExchangeRate; public string Field3; } class Program { static void Main(string[] args) { var engine = new FileHelperEngine<MyClass>(); string fileAsString = @"a,b,c" + Environment.NewLine + @"a,b,c" + Environment.NewLine + @"a,""b,c"",d"; MyClass[] validRecords = engine.ReadString(fileAsString); // Check the ExchangeRate values for rows 0, 1, 2 are as expected Assert.AreEqual("b", validRecords[0].ExchangeRate); Assert.AreEqual("b", validRecords[1].ExchangeRate); Assert.AreEqual("b,c", validRecords[2].ExchangeRate); Console.ReadKey(); } } 
+11
source

All Articles