使用File-Helper处理记录CSV解析器中的额外逗号

时间:2015-02-03 15:33:02

标签: c# .net filehelpers fileparsing

我正在尝试处理LLarge CSV文件 - 1Gb,有时我可能会获得列值为'的记录,'在它。

e.g。

  

" A"" COL1"" COL2"" COL3"" COL4"

     

" B"" ROW1"" Row1Col2"" Row1Col3"" Row1Col4"

     

" C""行2""行2,Col2中""行2,COL3"" Row2Col4"

最初我使用了Split(,),但是对于C行,由于列值中有额外的逗号,我收到的数据不正确。

我决定使用FileHelpers,但它似乎没有正确提取值。

当我在Excel中打开文件时,它正确格式化(即显示正确列中的每个值)。

我想在双引号中提取所有值。

2 个答案:

答案 0 :(得分:2)

不要重新发明轮子。

使用TextFieldParser。它像Excel一样解析你的行。

答案 1 :(得分:2)

使用FileHelpers,您必须使用此FieldQuotedAttribute

  

FieldQuoted:表示该字段必须像a一样读写   引用字符串。 (您可以传递引用字符,并可以设置引用   是可选的,如Excel CSV格式)

[FieldQuoted()] // Quoted with "
public string CustomerName;