0
我是Ruby的新品,並使用它來嘗試讀取/寫入csv。到目前爲止,我有一個腳本,執行以下操作:從CSV文件Ruby:如果條件符合,寫入CSV
- 進口數據,存儲選擇列作爲一個單獨的數組(我不需要從每列數據)
- 執行上的計算數據存儲在新創建的陣列
結果轉置的陣列表行,將被輸出到CSV
table = [Result1, Result2, Result3].transpose
目前,我能輸出使用下面的表格:
CSV.open(resultsFile, "wb",
:write_headers=> true,
:headers => ["Result1", "Result2", "Result3"]
) do |csv|
table.each do |row|
csv << row
end
我的問題是,我如何添加一個條件到的結果之一於某文本字符串只輸出行。例如,如果result2中的值等於「Apple」,我希望將該行中的數據寫入csv文件。如果不是,則跳過該行。
我試過把if/else放在幾個不同的區域,並沒有取得任何成功。
感謝所有幫助
單獨存儲列的好處是什麼? – Tilo
@Tilo csv有大約40欄,我只對其中的3篇感興趣(我編輯了我的帖子以使這篇文章更加清晰)。我願意接受任何建議 - 這是我第一次嘗試Ruby,所以不確定我是否正確地做了這個部分。 – SteveNikks
如果您使用'smarter_csv' gem,則可以使用'key_mapping'選項僅保留您感興趣的列,然後在需要時將數據寫入新的CSV文件 – Tilo