hamayuzinの日記

ITベンチャーに新卒入社し、エンジニアとかデータサイエンティスト、とかやってます。あの時 あれやってたな的な備忘録にできれば。

【Ruby/tmpfile】ruby で tmpfileで CSVを作成する

Ruby Railsで tmpfileを使ってCSVを使う方法 単純でありきたいだけどいつもわすれる。

今回は、SJISでencordingしつつ アーティスト名と曲名の一覧のCSVを作成する。 (また、所要でFTPに上げる)

# tmpfile作成
tf = Tempfile.new(["hogehoge", '.csv'], encoding: Encoding::SJIS)
# CSV作成
csv = CSV.generate(encoding: Encoding::SJIS) do |csv_file|
  # header
  csv_file << ['アーティスト名', '曲名']
  # body
  csv_file << ['fall out boy','Dance, Dance']
  csv_file << ['fall out boy','saturday]
end
tf.write(csv)
# いろいろするには
tf.pah

# 最後に
tf.close
tf.unlink