【发布时间】:2013-11-12 15:39:54
【问题描述】:
我使用 FileHelpers 构建了一个程序来解析 CSV 文件,它的效果非常好,但我遇到了问题。 一些文件(但不是全部)最后有许多额外的行,其中包含与实际字段无关的信息。
像这样
...
31,4104019, ,,1043,,,0,,Ventas Total Credito,1,1,277.98,0,0,0,0,21.5040000000,V,
31, ,11212302,,1043,,,0,,Ventas Total Credito,1,1,33.28,0,0,0,0,21.5040000000,V,
31, ,11212307,,1043,,,0,,Ventas Total Credito,1,1,277.98,0,0,0,0,21.5040000000,V,
;Importado="01/11/2013"
//blank line here too
我知道 FileHelpers 有
[IgnoreLast(3)]
public class whatever...
选项,但由于只有部分文件有额外的 3 行,因此对所有文件使用此选项可能会导致某些文件忽略最后 3 条记录。
有没有办法告诉它何时忽略一行?还是我应该先单独阅读文件并自己删除这些行?
【问题讨论】:
-
你检查
FileHelperAsyncEngine.ReadNext方法和BeforeReadRecord事件设置e.SkipThisRecord = true; -
我喜欢 beforereadrecord 的想法,我会研究一下。如果您有任何使用方法的示例,我将不胜感激!
-
对不起,我刚刚在他们的文档中得到了这个。他们有样品。看看那个
标签: c# csv filehelpers