2016-02-19 2 views
0

У меня есть скрипт webcrawl и скрипт скребка. Когда я интегрирую эти два, я могу получить массив, который я хочу с каждой веб-страницы, но я не могу сохранить его в CSV-файле. Я попробовал этот код, но он не работает:Как сохранить массив в CSV-файл?

CSV.open("scraper.csv", "wb") do |csv| 
      csv << ["date", "venue", "time", "race_number", "race_name", "track", "purse"] 
      csv << $race_data = [date, venue, time, race_number, race_name, track, purse] 
end 

Ну, это действительно сохраняет файл CSV, но файл только продолжает перезаписывать себя вместо того, чтобы только один файл-с-все-на-нем.

+2

Я считаю, что этот вопрос есть ответ, который вы ищете: http://stackoverflow.com/questions/4822422/output-array -to-csv-in-ruby – akz92

+0

Я сделал это, и файл csv не является компиляцией массивов, которые я получаю. :(csv-файл получает только одну строку, а затем продолжает переписывать себя. Извините, я только что узнал о рубине на прошлой неделе. – heartless

ответ

0

нашел ответ на этот вопрос. Проблема заключалась в том, что мой CSV.open находится в «w», который перезаписывает файлы новыми данными. Так, из

CSV.open("scraper.csv", "wb") do |csv| 
     csv << ["date", "venue", "time", "race_number", "race_name", "track", "purse"] 
     csv << $race_data = [date, venue, time, race_number, race_name, track, purse] 
end 

я это следующим образом:

CSV.open("scraper.csv", "ab") do |csv| 
     csv << ["date", "venue", "time", "race_number", "race_name", "track", "purse"] 
     csv << $race_data = [date, venue, time, race_number, race_name, track, purse] 
end 
Смежные вопросы