You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CsvHelper自动检测分隔符后,如何获取实际使用的分隔符?

获取CsvHelper自动检测到的实际分隔符
  • 问题核心:启用CsvHelper的分隔符自动检测后,csvReader.Configuration.Delimiter仍返回默认值,无法获取实际使用的分隔符。
  • 解决方案:访问csvReader.Context.Parser.Delimiter属性,该属性会保存自动检测后Parser实际使用的分隔符。

示例代码:

using (var streamReader = new StreamReader("target.csv"))
using (var csvReader = new CsvReader(streamReader, CultureInfo.InvariantCulture))
{
    // 开启分隔符自动检测
    csvReader.Configuration.DetectDelimiter = true;

    // 执行读取操作(触发分隔符检测)
    csvReader.Read();
    csvReader.ReadHeader();

    // 获取实际使用的分隔符
    string actualDelimiter = csvReader.Context.Parser.Delimiter;
}

原因说明

CsvHelper的分隔符自动检测逻辑是在Parser实例中临时生效的,不会修改全局Configuration对象里的默认分隔符值。因此直接访问Configuration.Delimiter只会拿到初始设置的默认值,而Context.Parser.Delimiter才是解析时实际使用的分隔符。


内容的提问来源于stack exchange,提问作者Chris W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:52:03