CSV解析器实现
确切地说应该是TSV,即分隔符是Tab而不是Comma。除分隔符之外,CSV与TSV大同小异。
这里使用TSV主要原因是:Excel导出的CSV不是Unicode编码,这样会导致某些符号丢失,而导出TXT时,可以选择Unicode,但格式却是TSV。
TSV语法可以用以下文法来描述:
p0:P -> Te
p1:T -> RT|ε
p2:R -> CMb
p3:M -> tCM|ε
p4:C ->
本文介绍了如何实现CSV解析器,重点在于处理TSV格式,因为Excel导出的CSV可能存在非Unicode编码导致的问题。文章通过正规文法描述TSV的语法,并转化为有限状态自动机。在简化和去除ε边后,给出状态转换矩阵和词法分析器与语法分析器的初步实现。
CSV解析器实现
确切地说应该是TSV,即分隔符是Tab而不是Comma。除分隔符之外,CSV与TSV大同小异。
这里使用TSV主要原因是:Excel导出的CSV不是Unicode编码,这样会导致某些符号丢失,而导出TXT时,可以选择Unicode,但格式却是TSV。
TSV语法可以用以下文法来描述:
p0:P -> Te
p1:T -> RT|ε
p2:R -> CMb
p3:M -> tCM|ε
p4:C ->

被折叠的 条评论
为什么被折叠?