LumenWorks Csv Reader - 如何检测数据行中但不存在于列中的列?

时间:2012-05-11 14:35:41

标签: c# csv

我正在使用LumenWorks CsvReader来解析具有以下结构的文件。

heading1,heading2,heading3
data1,data2,data3,data4,data5

代码检测到我每行有三个字段,因为我有三个标题。它很高兴地允许我解析第一行并检索data1,data2和data3,但我无法访问data4或data5。至少,我希望能够检测数据行中的其他字段。有谁知道这是否可行?

谢谢!

2 个答案:

答案 0 :(得分:2)

这样做是因为它使用第一行来了解您的文件有多少列。如果您将第一行更改为“heading1,heading2,heading3 ,,”它将按预期工作。

答案 1 :(得分:0)

我希望您无法读取这些字段中的数据。相反,我预计会出现错误并且您没有看到错误。这至少可以让您检测到数据中存在其他字段。

尝试设置DefaultParseErrorAction枚举属性,以确保您看到引发的任何错误。我原以为你描述的场景会触发MalformedCsvException(如果你设置了DefaultParseErrorAction = ParseErrorAction.ThrowException)。您还可以设置DefaultParseErrorAction = ParseErrorAction.RaiseEvent,然后将事件处理程序附加到ParseError事件。最后,您应该能够在每条记录之后检查ParseErrorFlag是否为真。

HTH