我正在通过《Clojure Workshop》一书学习 Clojure,在这项练习上我遇到了难题已有几天了。
(我的 IDE 是 IntelliJ,并且在 Windows 上使用它).
练习 4.10:从 CSV 文件导入数据
1. 在您的计算机上创建一个方便的文件夹。
由于尝试了很多次,我决定创建一个全新的项目。
在 Leiningen 和 Deps 之间选择有什么区别?我大多数时候使用 Leiningen,但因为我将使用一个 deps.edn 文件,我应该使用 Deps 吗?
2. 将匹配分数文件 match_scores_1991-2016_UNINDEXED.csv 下载到您创建的文件夹中。(在 GitHub 上这里)
我应该在哪里下载这个文件?在项目文件夹内的 src 文件中,还是任何文件都可以?有区别吗?
我决定将其保存在 src 中。
3. 在同一文件夹中,使用编辑器创建一个包含以下内容的 deps.edn 文件
{:deps
{org.clojure/data.csv {:mvn/version "0.1.4"}
semantic-csv {:mvn/version "0.2.1-alpha1"}}}
因此,我创建了一个 deps.edn 文件。
4. 通过在 REPL 中评估以下表达式来验证一切是否正常
user> (require '[clojure.data.csv :as csv])
nil
user> (require '[clojure.java.io :as io])
nil
user> (with-open [r (io/reader "match_scores_1991-2016_unindexed_csv.csv")]
(first (csv/read-csv r)))
在创建 REPL 时,我应该选择“使用 IntelliJ 项目的类路径运行”,对吗?
但是,在我准备评估测试表达式时,第二个和第三个表达式在评估时显示错误。
“clojure.data.csv :as csv”在评估时出现的错误如下
Execution error (FileNotFoundException) at csv-example.core/eval1549 (form-init2604783929697477049.clj:1).
Could not locate clojure/data/csv__init.class, clojure/data/csv.clj or clojure/data/csv.cljc on classpath.
我缺少什么?为解决这个问题已经尝试了好几天,但是我没有找到任何答案。
谢谢!