私はCSV::Table
オブジェクトをソートしています。私はヘッダー("date"
、"amount"
、"source"
)とO(50)
のエントリを持つテーブルを持っています。Ruby CSV ::テーブルの並べ替え
入力:
data = CSV.table('filename.csv', headers:true) # note headers are :date, :source, :amount
amounts = []
data[:amount].each {|i| amounts << i.to_f}
data.sort_by! {|row| row[:amount]}
# error - not a defined function
data = data.sort_by {|row| row[:amount]}
# sorted but data is now an array not CSV::Table. would like to retain access to headers
私はCSV::Table
構造を失うことなく"amount"
列によって所定の位置にテーブルをソートするために強打機能が欲しいです。具体的には、結果をCSV :: Tableにして、ヘッダーにアクセスできるようにします。今、私は、私が欲しいものではない配列を取得しています。
これは特にCSV::Table
クラスの方が簡単な方法です。どんな助け?
あなたが構造を失うとはどういう意味ですか引数として与えられたとき、常に配列を返します列挙モジュールからの方法ですか? – sawa
良い質問です! CSV :: Tableクラスに、同じヘッダーを持つCSV:Tableを返したsort_byメソッドがあることを期待していました。これはそうではないようです - 正しい? –