我在解析.csv时遇到使用FileHelpers创建分隔符字段的问题。我有一行数据在LINQ操作期间总是崩溃,类似于他们站点上的文件管理器的例子。
错误出现在列有引号的位置,例如此行:
data1,data2,“data3a,data3b”,data4
如何删除引号中的逗号,然后删除data3a和data3b的引号?
.csv文件中的特定列有两件事,但我无法确定应该使用哪个分隔符字段。
如果我不清楚或者这个问题得到了回答,或者下面没有有目的的评论。
非常感谢。
编辑: 类的代码
排:2010年,非异族黑人,男性,“肾病,肾病综合征和肾病”,70,1
//delimiters, ignore first row, separate with comma
[DelimitedRecord(",")]
[IgnoreFirst()]
public class CauseofDeathClass
{
public int Year { get; set; }
public string Ethnicity { get; set; }
public string Sex { get; set; }
public string Cause_of_Death { get; set; }
public int Count { get; set; }
public int Percent { get; set; }
}
答案 0 :(得分:2)
使用FieldQuoted
属性。有关不同的QuoteMode选项,请参阅here。
//delimiters, ignore first row, separate with comma
[DelimitedRecord(",")]
[IgnoreFirst()]
public class CauseofDeathClass
{
public int Year { get; set; }
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string Ethnicity { get; set; }
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string Sex { get; set; }
[FieldQuoted('"', QuoteMode.OptionalForBoth)]
public string Cause_of_Death { get; set; }
public int Count { get; set; }
public int Percent { get; set; }
}