LoginSignup
3
3

More than 5 years have passed since last update.

CSVで入力した情報をRBに変換し、定型文を追加する。

Posted at

データ入力の際、必要最低限の情報のみをCSVに入力し、RUBYファイルに変換しようと思う。
後にはRailsの中に組み込んだり等考えているが、今の所はRubyを手動で実行しCSV→RUBYに変換する方法をメモする。

例えば、ツイッターの情報をまとめたいとする。
CSVにて「アカウント名,account,アカウントのコメント」の情報を入力した時に、Rubyでは「Twitter.create(:name => 'アカウント名', :url => 'https://twitter.com/account', :comment => 'アカウントのコメント')」のという形式で受け取りたいとする。

こちらは、Seeds.rbでrailsのdbに情報を入力することを前提としているため、ご自身の受け取りたい形式、情報個数によって変更する必要がある。

change.rb
require 'csv'

csvdatas = CSV.read("before.csv")
file = File.open('after.rb', 'w')

csvdatas.each do |csv|
    csv[0] = 'Twitter.create(:name => ' + "'" + csv[0] + "'"
    csv[1] = ', :url => \'https://twitter.com/' + csv[1] + "'"
    csv[2] = ', :comment =>' + csv[2] + "\')" + "\n"  #要改行
    file.write csv.join #csvをつなげてfileに書き込む。
end

あとは入力データをCSVで作成し、実行するだけ。

$ ruby change.rb

これでafter.rbというファイルが作成されます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3