CSV ファイルを開き、文字列を検索してから、csv ファイルの 2 列目を返そうとしていますが、最初のインスタンスのみが返されます。私は次のようになりましたが、残念ながらすべてのインスタンスを返します。私は少し困惑しています。
ルビーの神々は助けてくれるでしょうか?よろしくお願いします。
M
この例では、names.csv が次のファイルであるとします。
foo, happy
foo, sad
bar, tired
foo, hungry
foo, bad
#!/usr/local/bin/ruby -w
require 'rubygems'
require 'fastercsv'
require 'pp'
FasterCSV.open('newfile.csv', 'w') do |output|
FasterCSV.foreach('names.csv') do |lookup|
index_PL = lookup.index('foo')
if index_PL
output << lookup[2]
end
end
end
では、foo のすべてのインスタンスを csv で返したい場合、どのように機能しますか? 結果として私が望むのは、幸せ、悲しい、空腹、悪いです。私はそれが次のようになると思いました:
FasterCSV.open('newfile.csv', 'w') do |output|
FasterCSV.foreach('names.csv') do |lookup|
index_PL = lookup.index('foo')
if index_PL
build_str << "," << lookup[2]
end
output << build_str
end
end
しかし、それはうまくいかないようです