我有一個大的CSV不會完全適合內存,我需要做很多工作。我是懶惰序列的新手,不知道如何解決這個問題。我試圖將整個文件讀入內存,然後解析它,我知道這是錯誤的。雙讀取大CSV文件
這裏就是我想要做的事:
- 閱讀標題行和以此爲基礎進行的事情。它在整個程序中使用。
- 閱讀所有行並收集每列的彙總數據。
- 使用匯總數據轉換原始數據並寫入新文件。
有沒有一種方法可以讀取標題行並不斷地使用它,而不會導致懶惰序列的「保持頭部」問題,將整個事件保留在內存中?
我發現這個相關線程:using clojure-csv.core to parse a huge csv file
逐行解析文件兩次,行。第一遍收集您的摘要信息;在第二遍時執行轉換並將結果逐行寫入新文件。 – 2014-10-12 02:58:42
我會用'let'來定義兩個不同的符號還是重複使用同一個符號?爲什麼這樣避免「頭痛醫頭」? – user1559027 2014-10-12 06:45:15
請查看我對句子問題的修訂是否通過詢問具體結果的可能性而將本文從「主要基於意見」移出。 – user1559027 2014-10-13 23:20:11