【发布时间】:2011-01-26 09:59:48
【问题描述】:
我有一个简单的应用程序,它打开一个制表符分隔的文本文件,并将该数据插入数据库。
我正在使用这个 CSV 阅读器来读取数据:http://www.codeproject.com/KB/database/CsvReader.aspx
而且一切正常!
现在我的客户在文件末尾添加了一个新字段,即“ClaimDescription”,并且在其中一些索赔描述中,数据中包含引号,例如:
“SUMISEI MARU NO 2”-日本海
这似乎让我的应用非常头疼。我得到一个如下所示的异常:
CSV 似乎在位置“181”的记录“1470”字段“26”附近已损坏。当前原始数据:...
在那个“原始数据”中,确实索赔描述字段显示了带有引号的数据。
我想知道是否有人以前遇到过这个问题,并且解决了它? 显然,我可以要求客户更改他们最初发送给我的数据,但这是他们用来生成制表符分隔文件的自动化过程;我宁愿把它作为最后的手段。
我想我可以事先使用标准 TextReader 打开文件,转义任何引号,将内容写回新文件,然后将该文件输入 CSV 阅读器。值得一提的是,这些制表符分隔文件的平均文件大小约为 40MB。
非常感谢任何帮助!
干杯,肖恩
【问题讨论】:
标签: c# csv quotes textreader