我在排序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
我希望有一個爆炸函數表由"amount"
柱處沒有鬆動的CSV::Table
結構進行排序。具體來說,我希望結果是一個CSV ::表,以便我仍然可以訪問標題。現在,我得到一個Array,這不是我想要的。
我敢肯定有一個更簡單的方法來做到這一點,特別是與CSV::Table
類。任何幫助?
你說的失去結構意味着它總是會返回一個數組? – sawa
好問題!希望CSV :: Table類具有一個sort_by方法,該方法返回一個CSV:Table,並使用相同的標題。看起來情況並非如此 - 對嗎? –