SuperAPI AI 工具集

dotnet-sep

写作与研究

查看项目

更新于 10-16 09:31

技能介绍

用途:Sep 用于 .NET 中高性能、低分配的分隔值解析与写入,适合对分配敏感、需要显式控制分隔符推断、转义、裁剪和表头行为的场景,例如 ML、ETL、分析中的大文件或长生命周期文件管线,以及需要 AOT/裁剪友好的 CSV/TSV 处理的启动与性能测试。

安装:dotnet add package Sep;dotnet add package Sep --version <version>;XML 引用 <PackageReference Include="Sep" Version="x.y.z" />。

主要能力与用法:通过 Sep.Reader() 或 Sep.New(',').Reader(...) 构建读取器;用 SepReaderOptions 控制 HasHeader、Unescape、Trim 等;行与列以 ReadOnlySpan<char> 访问,热路径用 Parse<T> 转原始类型。写出可用 reader.Spec.Writer() 复用输入的分隔符与文化设置,或用 Sep.Writer(...) 配合 SepWriterOptions(WriteHeader、Escape、DisableColCountCheck)。支持异步读写(需 C# 13 / .NET 9+ 的 await foreach),并行处理可用 ParallelEnumerate,但建议先测单线程基线。

限制:SepReader.Row 与 SepWriter.Row 是 ref struct,不能超出当前作用域存储;行迭代为逐行设计,并非传统集合模型;需要随机缓冲时应自行物化。Unescape、Trim、DisableQuotesParsing 等设置应谨慎并基于真实样本测试。