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

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

因而,便有了:AxinLib.IO.CSVgithub

 

 先看看怎么用:

 

读出的数据:.net

 


回到开始:

步骤1、了解CSV格式规范

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

 总结:开发

1)字段分隔符:文档

,

2)行结束符:get

\r\n

3)转义符:源码

"

4)出现以上字符的字段须要用转义符先后括起来it

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

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

步骤2、定义状态

经过主流程识别状态:

 

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

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

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

 详参见:

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

相关文章
相关标签/搜索