2016-12-28 27 views
1

ruby​​で.csvファイルを読み取るときに問題が発生しています。私は、ファイルの取得Ruby CSV形式CR/CL/LFでファイルを読み取るときにエラーが発生する

ファイル形式は以下の通りです:

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に変換すると同じ結果が得られます。

誰もこの経験があり、解決策を提供できますか?

EDIT: としては、それがデータではないCSV

670|FirstDataaset|Uppertreet 5|GB|1000|Blue|98764-6547|0374-453534|HU-0973409745|[email protected] 

のサンプルラインを要求し、私は新しいファイルに貼り付けるとテストファイル(ない現実的な選択肢のためにそれを使用してコピーによって確認されました解決策として、データが問題ではないことを確認する)

+0

を行うことができますが、いくつかのCSV行の例を持っていますか?また、引用符で囲まれていない場合もあります。 –

答えて

0

カスタム列セパレータ|を指定しましたか?

string = "670|FirstDataaset|Uppertreet 5|GB|1000|Blue|98764-6547|0374-453534|HU-0973409745|[email protected]" 

require 'csv' 

p CSV.parse(string, :col_sep => "|") 
# => [["670", "FirstDataaset", "Uppertreet 5", "GB", "1000", "Blue", "98764-6547", "0374-453534", "HU-0973409745", "[email protected]"]] 
+0

はい、私はそれをしました。テストファイルと一緒に走ったテストは問題なく動作しました。 – Uhraya

+0

問題のあるファイルとまったく同じエンコードと改行でいくつかの行をアップロードできますか? –

0

開こうとしているファイルであるので、あなたはこの

CSV.foreach(file_path,:col_sep => '|') do |row| 
    # whatever you wanna do 
end 
関連する問題