有一种简单的方法可以将csv行加载到Heroku托管应用程序中吗?

时间:2011-05-04 15:15:10

标签: ruby-on-rails activerecord csv

我有一些csv导出的数据行需要加载到Rails 2.3.8应用程序中。

csv数据已经是我在Heroku上托管的应用程序的完美格式。 有没有简单的方法呢?

谢谢, 奥古斯托

3 个答案:

答案 0 :(得分:3)

我在这方面取得了成功:

require 'csv'
CSV.foreach(Rails.root.to_s+"/db/calseed_test1.csv") do |row|
Calevent.create(
:caldate => row[0],
:caltime => row[1], 
:callocation => row[2],
:caldescription => row[3]
)
end

答案 1 :(得分:2)

您可以使用Ruby的内置CSV库将数据读入数组,然后您可以随意执行以下任务:

CSV.foreach("path/to/file.csv") do |row|
  # use row here...
  # For example, if you had users in a CSV file like "username,email" you could do:
  User.create(:username => row[0], :email => row[1])
end

答案 2 :(得分:0)

是的,有一个非常简单的方法。

  1. 将文件上传到要点或可公开访问的任何地方。
  2. 使用open-uri将其加载到您选择的任何控制台中。

    csv_file = open('https://gist.githubusercontent.com/gauravsaini23/84f9592bbc7cf444e869f8c67321a086/raw/84f7dc0c9d0770a30d28072e05527d1071870042/sample.csv'){| f | f.read}

  3. 您拥有所有必需的数据。

    csv = CSV.new(csv_file) pry(main)> csv.first => [“名称”,“目的”]