使用CsvHelper解析逗号后带空格的带引号CSV文件如何避免报错?
CsvHelper 逗号后带空格CSV解析方案
CsvHelper原生提供了对应的配置项,无需提前预处理CSV文件即可解决该问题,配置后可正常完成字段映射。
核心配置说明
- 核心生效配置为
AllowWhiteSpaceBeforeQuote,设为true后会自动忽略逗号与字段引号之间的空白字符,不会抛出格式异常。 - 可选搭配
TrimEntries配置,自动清理字段值前后的多余空白。 - 可选搭配
PrepareHeaderForMatch配置,适配CSV头部与映射类属性名大小写不一致的场景。
完整代码示例
using CsvHelper; using CsvHelper.Configuration; using System.Globalization; // 初始化解析配置 var csvConfig = new CsvConfiguration(CultureInfo.InvariantCulture) { // 解决逗号后带空格的核心配置 AllowWhiteSpaceBeforeQuote = true, // 可选:自动去除字段前后空白 TrimEntries = true, // 可选:头部匹配忽略大小写 PrepareHeaderForMatch = args => args.Header.ToLower() }; // 解析文件示例 using var streamReader = new StreamReader("你的CSV文件路径.csv"); using var csvReader = new CsvReader(streamReader, csvConfig); // 直接读取到自定义实体类即可完成映射 var resultList = csvReader.GetRecords<CsvMappingModel>().ToList(); // 自定义映射实体类示例 public class CsvMappingModel { public string Header1 { get; set; } public string header2 { get; set; } }
内容的提问来源于stack exchange,提问作者sgch
相关产品推荐
相关产品推荐

