如何解决尝试使用csvHelper读取带有嵌入式引号的csv文件
下面是我必须阅读和解析的CSV的一小段。我不知道它是如何创建的,应该是有效的CSV文件。 使用CSVHelper,它正在配置中执行BadDataExceptionHandler设置
field1,field2,field3,field4
6/22/2020,7"X8.5"SIGNTYPE2.L,*299334,7"X8.5"SIGNTYPE2.L
7/30/2020,OMTOTE,GS350006,OMTOTE
如果我将原始文件提交给在线CSV linter,它会抱怨CSV内容结构不良。
如果我在Excel中打开此文件,它不会给我任何例外,并且电子表格看起来像上面的记录。但是,如果我将文件另存为* .csv,则新文件中的双引号会像这样转义。
6/22/2020,"7""X8.5""SIGNTYPE2.L","7""X8.5""SIGNTYPE2.L"
我试图设置Configuration.IgnoreQuotes = true,但是抛出了“ system.indexOutOfRangeException:'索引在数组的边界之外。'”异常。
是否可以使用csvHelper成功处理文件?
解决方法
我已经使用Microsoft Excel保存并打开了数据,并且运行良好 所以试试这个 Instal LumenWorksCsvReader
Install-Package LumenWorksCsvReader -Version 4.0.0
并以文件形式读取您
using (CsvReader csv = new CsvReader(new StreamReader(csvFile),true))
{
csv.DefaultParseErrorAction = ParseErrorAction.RaiseEvent;
int fieldCount = csv.FieldCount;
string[] lines = csv.GetFieldHeaders();
while (csv.ReadNextRecord())
{
List<string> rowData= new List<string>();
for (int i = 0; i < fieldCount; i++)
{
rowData.Add(csv[i]);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。