我有以下CSV文件内容:
4.1,AB,2018-02-16 15:41:39,152,36,"{"A":{"a1":"A1"},"B":{"b1":"B1}}","{"X":"","Y":"ya"}",20
我想打破/解析它如下 - 逗号是列分隔符,但列也可以有双引号。
这就是我正在做的事情
using ( var parser = new TextFieldParser( myCSV ) )
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters( "," );
parser.TrimWhiteSpace = true;
//parser.HasFieldsEnclosedInQuotes = true;
// I tried HasFieldsEnclosedInQuotes with true and false.
string[] fields = new string[] { };
while ( !parser.EndOfData )
{
try
{
fields = parser.ReadFields();
}
catch ( MalformedLineException e)
{
LogError( $"MalformedLineException when parsing CSV" );
}
//
//do something of fields...
}
}
我一直收到MalformedLineException。 ESCAPE中包含DOUBLE QUOTES的列的正确方法是什么,以便CSV解析器不会破坏它们?
谢谢你
答案 0 :(得分:0)
尝试删除 parser.TextFieldType = FieldType.Delimited;
因为在设置分隔符时会自动设置