开源一个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

 

人已赞赏
站长资讯

es6基础知识

2020-11-9 3:42:05

站长资讯

十一大行为型模式之七:观察者模式。

2020-11-9 3:42:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索