###実現したいこと
下記のような内容のcsvファイルを出力させたいと思っています。
"name","score1","socore2","average" "A","40","69","54.5" "B","19","18","18.5" "C","20","12","16" "D","70","41","55.5" "E","77","78","77.5"
###試したこと
sample.csv
"name","score01","score02" "A","40","69" "B","19","18" "C","20","12" "D","70","41" "E","77","78"
lang
1require "csv" 2infile = "sample.csv" 3outfile = "sample_r.csv" 4 5csv = CSV.read(infile) 6header = csv.first, "average" 7i = 0 8CSV.open(outfile, "w", :headers => header, :write_headers => true) do |f| 9 CSV.foreach(infile, headers: true) do |row| 10 csvtable = CSV.table(infile) 11 ave = (row[1].to_f + row[2].to_f) / 2 12 f << [csvtable[i], ave] 13 i = i + 1 14 end 15end 16
実行結果
sample_r.csv
"[""name"", ""score01"", ""score02""]",average "A,40,69 ",54.5 "B,19,18 ",18.5 "C,20,12 ",16.0 "D,70,41 ",55.5 "E,77,78 ",77.5
不自然なコードかもしれませんが、この様な書き方で出力させるにはどのように修正すればよろしいでしょうか?
また、中途半端に改行されたり[]や”が入ってしまうのはなぜでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。