2016-06-23 4 views
0

まず最初に私はRubyの初心者ですが、私が解決しようとしていることの良いイメージを与えることができない場合は、それが理由です。このようなファイルやディレクトリはありません@ rb_sysopen ruby​​とcsv

私はURLを画像に変換しようとしていますが、私は答えを見回しましたが、私にとってはうまくいく答えが見つからないようです。このファイルには70,000件以上のリンクがあり、同時に名前を付けようとしています。私はそれが関連している場合は、ルビー2.3.0を使用しています。

コード -

require 'open-uri' 
require 'tempfile' 
require 'uri' 
require 'csv' 

def downloadFile(path,url) 
begin 
    open(path, "wb+") do |file| 
    file << open(url).read 
    end 
    return true 
rescue 
    return false 
    end 
end 

puts Dir.pwd 
CSV.foreach("C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV",  headers:true) do |row| 
downloadFile(row[0], row[1]) 
end 

だから私は取得していますエラーが Cではありません:/Ruby23/lib/ruby/2.3.0/csv.rb:1265:「初期化する `に:そのようなファイルまたはディレクトリ@ rb_sysopen - C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV(Errno :: ENOENT)

私はディレクトリに何か問題があることを理解していますが、です。

+2

あなたのエラーは何が原因で発生したかを示します。指定した名前のファイルやディレクトリがないため、何も開けません。 –

+0

しかし、フォルダ内のdirをクリックすると、.CSVの終了を除いてコード内のdirと同じになります。 C:\ Users \ b40ssr \ RubymineProjects \ Bygma \ convert –

+0

ファイルが実際に.csvファイルになっていますか?コマンドラインでその場所に移動し、 'dir'または(Unixシステム上で)' ls'を入力してみてください –

答えて

0

まず第一に、あなたは相対パスを使用するか、単に「C:/」を使用することができ

第二に、あなたは、CSVファイルの各行を開こうとしています?

CSV.foreach( "C/Users/b40ssr/RubymineProjects/Bygma/convert/konvertera.CSV")。これにより、CSVファイルの各行が繰り返し処理されます。 ディレクトリ内の各CSVファイルを開きますか?

関連する問題