开源一个CSV解析器(附设计过程 )


在ExcelReport支持csv的开发过程中,需要一个NETStandard的csv解析器。在nuget上找了几个试用,但都不太适合。

于是,便有了:AxinLib.IO.CSV

 

 先看看怎么用:

 

读出的数据:

 


回到开始:

步骤一、了解CSV格式规范

参考文章:理解CSV格式规范(解析CSV必备)

 总结:

1)字段分隔符:

,

2)行结束符:

\r\n

3)转义符:

"

4)出现以上字符的字段需要用转义符前后括起来

5)转义符的原义需要两个转义符标识

6)文件中的最后一行记录可以有结尾回车换行符,也可以没有。

步骤二、定义状态

通过主流程识别状态:

 

1)新字段开始 
2)非转义状态
3)转义状态
4)转义符原义判定状态
5)字段结束
6)行结束
7)文档结束
8)解析失败

步骤三:通过状态迁移图查缺补漏

步骤四:根据状态迁移图实现代码

 详参见:

 AxinLib.IO.CSV 源码:https://github.com/hanzhaoxin/AxinLib/tree/master/src/AxinLib.IO.CSV

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM