ruby – 克服使用FasterCSV宝石的CSV解析的基本问题
发布时间:2020-12-16 20:26:24 所属栏目:百科 来源:网络整理
导读:我发现一个CSV解析问题与FasterCSV(1.5.0),这似乎是一个真正的错误,但我希望有一个解决方法. 基本上,当字段用引号括起来后,在分隔符之后添加一个空格(在我的例子中为逗号)会生成一个MalformedCSVError. 这是一个简单的例子: # No quotes on fields -- works
我发现一个CSV解析问题与FasterCSV(1.5.0),这似乎是一个真正的错误,但我希望有一个解决方法.
基本上,当字段用引号括起来后,在分隔符之后添加一个空格(在我的例子中为逗号)会生成一个MalformedCSVError. 这是一个简单的例子: # No quotes on fields -- works fine FasterCSV.parse_line("one,two,three") => ["one","two","three"] # Quotes around fields with no spaces after separators -- works fine FasterCSV.parse_line(""one","two","three"") => ["one","three"] # Quotes around fields but with a space after the first separator -- fails! FasterCSV.parse_line(""one","three"") => FasterCSV::MalformedCSVError: Illegal quoting on line 1. 我生气了吗,还是FasterCSV的bug? 解决方法
这里的格式错误是正确的.
CSV格式的前导/尾随空格不被忽略,它们被视为字段的一部分.所以这意味着你已经开始一个有空格的字段,然后在该字段中包含非转义的双引号,这将导致非法的引用错误. 也许这个图书馆比你使用的图书馆更严格. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |