2016-10-23 7 views
-1

私はこのようになります方法があります。ちょうど開いたCSVファイルのファイル名にアクセスするにはどうすればよいですか?

def extract_websites 
    websites = [] 
    csvs = Dir["#{@dir_name}/#{@state}/*.csv"] 

    csvs.each do |csv| 
    CSV.foreach(csv, headers: true) do |row| 
     websites << row['Website'] 
    end 
    end 
    websites.uniq! 
end 

をしかし、私がやりたい必要なものが開かれ、各CSVファイルのために、私はそのファイルの名前を検出したいです。

どうすればよいですか?

答えて

1

サンプルでは、​​変数csvにはCSVファイルのパスが保持されます。 そのローカル変数はその子ブロックで使用可能ですが、スコープはダウンしていますが、上向きではありません。

ので:

def extract_websites 
    websites = [] 
    csvs = Dir["#{@dir_name}/#{@state}/*.csv"] 

    csvs.each do |csv| 
    puts File.expand_path(csv) # show the full path for each csv file 
    CSV.foreach(csv, headers: true) do |row| 
     puts csv # shows unexpanded path for each row of a csv 
     websites << row['Website'] 
    end 
    end 
    websites.uniq! 
end 

は、各CSVファイルの各rowのパスをプリントアウトする必要があります。

+0

右。どうもありがとう! – marcamillion

関連する問題