Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取带有ruby换行符的csv文件时出现的问题_Ruby_Csv_Encoding - Fatal编程技术网

读取带有ruby换行符的csv文件时出现的问题

读取带有ruby换行符的csv文件时出现的问题,ruby,csv,encoding,Ruby,Csv,Encoding,我尝试了各种迭代:编码和选项,但没有成功。该文件是使用python csv模块创建的,并且quote_all选项处于启用状态。它使用默认的quote_char='”,编码='ascii';我在ruby脚本中匹配了这些设置,但每当我尝试读取此文件时,都会出现以下错误: /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1894:in `block (2 levels) in shift': Missing or stray qu

我尝试了各种迭代:编码和选项,但没有成功。该文件是使用python csv模块创建的,并且quote_all选项处于启用状态。它使用默认的quote_char='”,编码='ascii';我在ruby脚本中匹配了这些设置,但每当我尝试读取此文件时,都会出现以下错误:

/usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1894:in `block (2 levels) in shift': Missing or stray quote in line 1 (CSV::MalformedCSVError)
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1887:in `each'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1887:in `block in shift'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1849:in `loop'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1849:in `shift'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1791:in `each'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1805:in `to_a'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1805:in `read'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1411:in `block in read'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1354:in `open'
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/csv.rb:1411:in `read'
以下是csv文件的第1行:

"1","
因为第2行以换行开始


看起来这可能与源文件有关;切换一些选项使我了解了问题所在。

我想提供一个对我有效的答案:我无意中删除了一些关键格式指令的标题。重新添加它们可以正常解析文件,但我不需要标题ers将由解析器处理,因此我必须找到一个选项,以便在不中断csv gem的情况下执行此操作,我在这里发现:。

为什么这个标记为
python
?您可以添加多一点csv吗(只要输入保持相同的问题,请根据需要简化/匿名化)?有一个更完整的示例可以让这里的人复制您的错误并提出修复建议。所讨论的文件是使用python脚本创建的;可能不是相关的标记;我将使用更多的CSV进行更新,这些CSV实际上将此文件中的一行与另一行分隔开来?我认为这不是新行。