我的CSV文件头都设置了这样的领域CSV:问题阅读使用报价为包含逗号
COMPANY NAME,Email,Job Title,COMPANY TYPE,CITY,FIRSTNAME,LASTNAME
而且我有一些代码来读取文件中的记录:
var ofd = new OpenFileDialog();
if (ofd.ShowDialog() != DialogResult.OK) return;
_importFile = ofd.FileName;
Engine = new CsvEngine("record", ',', _importFile);
Records = Engine.ReadFile(_importFile);
此代码一直很好,我用我用其他的CSV文件,但是当我与我目前的文件中使用它,我得到这个错误:
An unhandled exception of type 'FileHelpers.BadUsageException' occurred in FileHelpers.dll
Additional information: Line: 180 Column: 149. Delimiter ',' found after the last field 'LASTNAME' (the file is wrong or you need to add a field to the record class)
这是有问题的记录,在线180:
"Bbc Worldwide Labs, Bounce Republic Ltd",[email protected],"Broadcaster, Voice Over & Founder Of Passion Pods",Broadcast Media,London,Emily,Chiswell
此记录给定字段标题匹配。所以有什么问题?
我可以想象导致这个问题的唯一的事情是在其他领域内给予的逗号。但他们封装了引用,所以这不应该是一个问题,对吧?
编辑
我使用FileHelpers库来解析CSV:http://www.filehelpers.net/
这CsvEngine - 你自己做它或者是一些第三方? – pitersmx
最可能的答案是'CsvEngine'不理解带引号的字段。您可能想要选择其中一个正确处理它们的CSV阅读器。 –
我正在使用FileHelpers:http://www.filehelpers.net/ – ThePerplexedOne