Как импортировать текстовый файл с веб-сайта в базу данных построчно в Ruby - PullRequest
2 голосов
/ 26 августа 2011

Мне нужно импортировать файл по ссылке с веб-сайта с текстовым файлом, используя Ruby.

Я могу импортировать весь текст в одну переменную (я не включил свою конкретную ссылку):

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

но я не знаю, как построчно импортировать в базу данных.Мне нужно иметь возможность читать его как массив, например:

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

Этот код будет сохранять каждую строку в базе данных в таблице «вещи» как «переменная».Если бы это был мой текстовый файл:

abc
def
ghi
jkl

Вот как должна выглядеть таблица в базе данных:

things

id variable
1  abc
2  def
3  ghi
4  jkl

Еще раз, мне нужно знать, как импортировать текстовый файлс веб-сайта (не дисковода) для достижения вышеуказанного результата.Спасибо.

1 Ответ

1 голос
/ 26 августа 2011

Я бы разбил данные на новые строки, а затем позвонил бы каждому.

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

Затем я бы использовал гем Mysql2 для вставки значений в вашу базу данных.

db = Mysql2::Client.new(connection_params)
db.query(insert_statement)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...