0
  def csv_parsing
    require 'csv'
    csv_file_path = File.join(File.dirname(__FILE__), "csv_data.csv")
    CSV.parse(csv_file_path) do |line|
      puts line[0]
    end
  end

これは簡単な例で、CSVファイルを解析する方法です。上記のアクションはコントローラーに配置され、ファイルはプロジェクトのルートにあります。

しかし、CSVファイルからデータを取得する代わりに、次のようにファイルへのパスを取得しています。

/Users/my_mane/ruby_folder/my_project/app/controllers/csv_data.csv

注:ファイルには実際のデータが含まれています。

自分のデータの代わりにファイルパスだけが出力されるのはなぜですか?

4

2 に答える 2

2

Because CSV#parse actually parses the string you passed to it, not the file from location that this string contains. What you need is CSV#read: http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV.html#method-c-read

于 2012-07-18T18:31:45.750 に答える
1

文字列のデータではなくファイルパスを使用する場合、このファイルを次のように行ごとに読み取ることができます。

CSV.foreach(csv_file_path) do |line|
  ...
end
于 2012-07-18T18:45:50.503 に答える