如何使用DataMapper将大量数据保存到数据库中

时间:2017-12-06 19:06:12

标签: ruby sinatra ruby-datamapper sqlite3-ruby

我试图插入数据库,但sinatra抛出此错误

/ p中的DataObjects :: ConnectionError 数据库被锁定

at Name.create(babyname:name,year1900:results [0],year1910:results [1],year1920:results [2],year1930:results [3],year1940:results [4],year1950:结果[5],1960年:结果[6],1970年:结果[7],1980年:结果[8],1990年:结果[9],2000年:结果[10])

这是我如何阅读文本文件并创建名称

File.open("names-data.txt", "r") do |f|
f.each_line do |line|
  item = line.split(/\n/)
  array = item[0].split(/\s+/)
  name = array[0]
  array.shift
  pop = array
  results = pop.map { |number| if number =~ /0/ then 1001 else number.to_i end }
 Name.create(babyname: name ,year1900: results[0] ,year1910: results[1] ,year1920: results[2] ,year1930: results[3],year1940: results[4],year1950: results[5] ,year1960: results[6],year1970: results[7] ,year1980: results[8] ,year1990: results[9] ,year2000: results[10])
end

以下是我正在阅读的文本文件中的几行

Abbigail 0 0 0 0 0 0 0 0 0 953 562

Abby 0 0 0 0 0 906 782 548 233 211 209

Abdiel 0 0 0 0 0 0 0 0 0 925 721

有超过4000行

0 个答案:

没有答案