ruby初心者です。csv形式データを読みこみ、内容を変えて書き出すことができません。
csv形式データは
a,b,c,d,e,f,, あ,い,う,え,お,か,き,く
のようになっていて、これを
a,b b,c c,d d,e e,f あ,い い,う う,え え,お お,か か,き き,く
のように「単語を2つ取り出し、並べる」かつ「前行の2つ目の単語を重複させる」ということをしたいです。
自分なりに書いてみたのですが、うまくいきませんでした。
ruby
1 require "csv" 2 csv_date1=CSV.read("sample.csv") 3 4 CSV.open("out.csv","wb") do |csv| 5 csv_date1.each do |row| 6 row.compact.reject(&:empty?) 7 for i in 0..10 do 8 csv.puts("#{row[i]},#{row[i+=1]}\n") 9 end 10 end 11 end
また「空配列が出てきたら取り除く」と「単語の数にあった配列を作る」のようにしたいです。
6行目の"row.compact.reject(&:empty?)"では空配列が取り除けませんでした。
例えば上のcsvデータの場合、fのあとの空配列を取り除く。
また一行目は6単語なので、それを組み合わせた5行。二行目は8単語なのでそれを組み合わせた7行。
つたない文章でわかりずらいところも多く、自分自身も知識不足で申し訳ないのですが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/15 15:47