編集:
私の質問は、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であるという事実により、フィルター処理が可能になるという事実は、空白キーを検出できるほどクリーンなソリューションではないようです。空白のキーを見つけて除外することは、私が困惑したことです。
ありがとうございました。