ruby csv

目次
1、csvファイルを作成
2、スクレイピングデータからCSV作成

csvファイルを作成


require "csv"

CSV.open("file.csv","w") do |o|
    o << ["id","name","live"]
    o << [1,"yamada","oosaka"]
end


[file.csv]

id,name,live
1,yamada,oosaka


csvファイルに追加で代入

require "csv"

CSV.open("file.csv","a") do |o|
    o << [2,"sato","nara"]
end

[file.csv]

id,name,live
1,yamada,oosaka
2,sato,nara


csvファイルをハッシュとして扱う

CSV.read("file.csv",headers: true)


スクレイピングデータからCSV作成


require "selenium-webdriver"
require "csv"

options = Selenium::WebDriver::Chrome::Options.new
options.headless!
d = Selenium::WebDriver.for :chrome,options: options

d.get("サイトのURL")


sections = d.find_element(:id,"id_name").find_elements(:class,"class_name")
CSV.open("lists.csv","w+") do |csv|
    csv << ["名前","住所","値段"]
end

sections.each do |o|
    title = o.find_element(:class,"class_name").text
    live = o.find_element(:class,"class_name").find_element(:class,"class_name").text
    price = o.find_element(:class,"class_name").text
   #class_nameやid_nameはスクレイピングするサイトの要素を入れる
    CSV.open("lists.csv","a") do |csv|
        csv << ["#{title}","#{live}","#{price}"]
    end
    sleep 1
end