我有一个c#CSV解析器,已经运行了好几个月了。它使用FileHelpers.CsvEngine来完成繁重的工作。我的系统必须按原样接收第三方CSV文件(很难返回到供应商并说“更改”)。经过几个月成功的CSV解析后,我现在遇到了几个大文件,其中每行以逗号开头。 CSV确实使用逗号分隔的值(而不是制表符,空格等)。
这是爆炸的线:
,ORG_NO,ORG_REV_NO,ZMODEL,Q_DATE
,7,1,02-8FD10 ,7/21/2009 9:33
,7,1,02-8FD14 ,7/21/2009 9:33
,7,1,02-8FD15 ,7/21/2009 9:33
,7,1,02-8FD18 ,7/21/2009 9:33
这是错误:
字符串”不是有效的.NET标识符
以下是CSV中的一些示例行(第一行是标题):
ng-controller="..."
观察到每一行的第一个字符是逗号,这似乎使解析器感到窒息。
作为最后的选择,我可以循环文件,删除第一个字符,然后继续解析-但是有没有更优雅/直接的方式来处理此问题?我想要一种方法来处理它,而不需要在解析它之前先查看每个CSV,看看第一个字符是否是逗号,然后使用备用(且昂贵)的逗号删除代码路径。
有什么想法吗?