ruby – 克服使用FasterCSV宝石的CSV解析的基本问题

前端之家收集整理的这篇文章主要介绍了ruby – 克服使用FasterCSV宝石的CSV解析的基本问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现一个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格式的前导/尾随空格不被忽略,它们被视为字段的一部分.所以这意味着你已经开始一个有空格的字段,然后在该字段中包含非转义的双引号,这将导致非法的引用错误.

也许这个图书馆比你使用的图书馆更严格.

原文链接:https://www.f2er.com/ruby/273386.html

猜你在找的Ruby相关文章