假设我具有相同的文件名,放置在五个不同的子文件夹中。有问题的文件在所有文件夹中具有相同的名称,但具有不同的值。函数参数作为Clojure中文件的路径的一部分
假设我的文件名为test.csv
。我的文件夹是A1,A2,A3,A4
和A5
。
我的数据读取结构看起来像这样:
(defn my-data [folder]
(loop [SUB-FOLDER (str 'folder)
X []
data (with-open [file (clojure.java.io/reader "./resources/SUB-FOLDER/test.csv")]
(doall (csv/read-csv file)))]
(def row (first data))
(if (nil? row)
[(lazy-seq X)]
(recur (conj X (map #(Float/parseFloat %) row))
(rest data)))))
我会调用该函数,以便
(def Y (map vec (get (my-data A1) 0)))
当我试图访问该文件test.csv
在子文件夹A1
这我作为参数传递给我的csv-read函数。
现在显然上面的代码不起作用,但它提供了我试图实现的内容的概述。
怎么能让最小的例子工作?
谢谢。
你的代码有很多问题。首先,你试图读取一个名为./resources/SUB-FOLDER/test.csv的文件。读取csv文件通常非常简单,您可以举一个文件内容的例子吗? –
当然:这些文件只包含约200行(六维)csv数据,如:232.2,100.5,12.2,23.0,12.2,90.2 – Astrid