使用CR / CL / LF读取文件时,Ruby CSV格式错误



我在Ruby中读取.csv文件的问题。

我为文件获得的文件格式如下:

UTF-8 Unicode text, with CR, LF line terminators

我得到的错误是:

/usr/local/lib/ruby/1.8/csv.rb:607:in `get_row': CSV::IllegalFormatError (CSV::IllegalFormatError)

我尝试将文件转换为

UTF-8 Unicode text, with CRLF, CR line terminators

没有更改。

转换为ASCII产生相同的结果。

有人有这个经验并可以提供解决方案吗?

编辑:根据要求CSV的样品行

670|FirstDataaset|Uppertreet 5|GB|1000|Blue|98764-6547|0374-453534|HU-0973409745|example@example.de

不是数据,我通过将其粘贴到新文件中检查,然后将其用于测试文件(不是可行的选项作为解决方案,只是为了确认数据不是问题)

<)

由于您要打开的文件,您可以执行此操作

CSV.foreach(file_path,:col_sep => '|') do |row|
   # whatever you wanna do
end 

您是否指定了自定义列分隔符|

string = "670|FirstDataaset|Uppertreet 5|GB|1000|Blue|98764-6547|0374-453534|HU-0973409745|example@example.de"
require 'csv'
p CSV.parse(string, :col_sep => "|")
# => [["670", "FirstDataaset", "Uppertreet 5", "GB", "1000", "Blue", "98764-6547", "0374-453534", "HU-0973409745", "example@example.de"]]

最新更新