如何在Ruby中逐行将文本文件从网站导入数据库

时间:2011-08-26 02:14:30

标签: ruby-on-rails ruby file web import

我需要使用Ruby从带有文本文件的网站链接导入文件。

我可以将整个文本导入单个变量(我没有包含我的特定链接):

text = Net::HTTP.get( URI.parse( "http://www.link.com/text.txt" ) )

但我不知道如何逐行导入数据库。我需要能够像数组一样读它:

text.each do |line|
  Thing.create :variable => line
end

该代码将每行保存到“things”表中的数据库中作为“variable”。如果这是我的文本文件:

abc
def
ghi
jkl

这是表格在数据库中的样子:

things

id variable
1  abc
2  def
3  ghi
4  jkl

再一次,我需要知道如何从网站(而不是磁盘驱动器)导入文本文件以实现上述结果。感谢。

1 个答案:

答案 0 :(得分:1)

我会在换行符上拆分数据,然后调用每个数据。

text = Net::HTTP.get( URI.parse( "http://www.link.com/text.txt" ) )
text.split("\n").each do
    ...
end

然后我会使用Mysql2 gem将值插入数据库。

db = Mysql2::Client.new(connection_params)
db.query(insert_statement)