Clojure 确定是否存在空白键 编辑:

Clojure 确定是否存在空白键 编辑:,clojure,Clojure,我的问题是如何过滤出zipmap中看似空白的键 虽然我有一个解决问题的方法,但知道如何过滤密钥将非常有帮助 结束编辑: 这个输出 : [: [ ]] ([ ]) 3 ,, 是由 (println first-ent, " ", map-ent, " ", val-ent, " ", (count out-csv), " ", out-csv) 在这个函数中 (defn missing-accts "Prints accounts found in one repor

我的问题是如何过滤出zipmap中看似空白的键

虽然我有一个解决问题的方法,但知道如何过滤密钥将非常有帮助

结束编辑: 这个输出

:   [: [ ]]   ([ ])   3   ,,
是由

(println first-ent, " ", map-ent, " ", val-ent, " ", (count out-csv), " ", out-csv)
在这个函数中

(defn missing-accts 
    "Prints accounts found in one report but not the other."

    [report-header mapped-data out-file]
    (spit out-file (str "\n\n" report-header "\n\n") :append true)

    (doseq [map-ent mapped-data]
            (let [first-ent (first map-ent)
                  val-ent   (rest  map-ent)
                  out-csv   (if first-ent
                                (str (name (key map-ent)) "," (first (val map-ent)) "," (last (val map-ent)) "\n")
                                nil)]

                (println first-ent, " ", map-ent, " ", val-ent, " ", (count out-csv), " ", out-csv)
                (if (> (count out-csv) 3)                    
                    (spit out-file out-csv :append true)
                    (println "Skipping: ", out-csv)))))
<空白键的输出计数为3的事实允许我过滤,因为它能检测出一个空白键,看起来并不干净。找到并过滤掉一个空白键是让我感到困惑的


谢谢。

您可以使用以下方法创建空白关键字:

(关键字“”)
您可以使用此选项筛选列表并删除所有空白关键字:

(过滤器(fn[[key]](not=(关键字“”)key))映射ent)

您的问题根本不清楚,请尝试重新表述