在数据集clojure上创建新列

时间:2013-08-17 12:10:47

标签: data-binding clojure

我需要帮助格式化clojure中的数据。

我正在使用此查询从Oracle DB中将数据读入clojure脚本

SELECT location,time,date FROM centralEventTable WHERE time BETWEEN 12/08/2013 and 14/08/2013

  

结果集中的数据称为"结果"然后用于获取所有位置的地图,如此;

(map(keyword:location)Result)

然后我需要遍历位置名称,创建一个名为ApplicationName的新列,并根据位置中包含的数据为每个元组分配一个应用程序名称。

我希望能够以表格格式呈现的数据是ApplicationName,Location,Time和Date。

1 个答案:

答案 0 :(得分:0)

假设你有一个名为application-name的函数,它将一个位置单元格作为输入并返回一个ApplicationName单元格,你可以这样做:

(map (fn [{:keys [location] :as row}]
       (assoc row
              :ApplicationName (application-name location)))
     Result)

P.S。:问题的第一行

(map :location Result)

应该足够了,因为:location已经是一个关键字。此外,大写名称通常用于类型和接口,因此我建议将其称为result

(map :location result) ;; most idiomatic.