加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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格式的前导/尾随空格不被忽略,它们被视为字段的一部分.所以这意味着你已经开始一个有空格的字段,然后在该字段中包含非转义的双引号,这将导致非法的引用错误.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读