我在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"]]