0

我正在尝试处理 LLarge CSV 文件 - 1Gb,有时我可能会在其中获取列值包含“,”的记录。

例如

"A","col1","col2","col3","col4"

"B","Row1","Row1Col2","Row1Col3","Row1Col4"

"C","Row2","Row2,Col2","Row2,Col3","Row2Col4"

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

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

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

我想提取双引号内的所有值。

4

2 回答 2

2

不要重新发明轮子。

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

于 2015-02-03T15:41:03.753 回答
2

FileHelpers你必须使用这个:FieldQuotedAttribute

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

[FieldQuoted()] // Quoted with "
public string CustomerName;
于 2015-02-03T16:07:55.103 回答