Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将csv文件上载到sqlite_Ruby On Rails_Sqlite_Csv - Fatal编程技术网

Ruby on rails 将csv文件上载到sqlite

Ruby on rails 将csv文件上载到sqlite,ruby-on-rails,sqlite,csv,Ruby On Rails,Sqlite,Csv,我正在尝试将我的csv数据上载到我的sqlite表,这是我的代码: require 'csv' CSV.open('history.csv', 'r') do |row| HistoryYear.create(:year => row[1], :first => row[2], :second => row[3], :third => row[4], :regular_season_champ => row[5]) end 我收到一条错误消息,NoMetho

我正在尝试将我的csv数据上载到我的sqlite表,这是我的代码:

require 'csv'

CSV.open('history.csv', 'r') do |row|
  HistoryYear.create(:year => row[1], :first => row[2], :second => row[3], :third => row[4], :regular_season_champ => row[5])
end

我收到一条错误消息,
NoMethodError:undefined method'[],用于#
。我是Rails和编程的新手,似乎找不到答案。

您需要使用CSV.foreach(文件…)

您可以执行以下操作:

require 'csv'

CSV.foreach('history.csv') do |row|
  HistoryYear.create(:year => row[1], :first => row[2], :second => row[3], :third => row[4], :regular_season_champ => row[5])
end

签出

也不要忘记数组(本例中的行)是0索引的,即行的第一个元素是行[0]