我是Scala的新手,所以可能会有一些我不知道的东西。
我有一个Scalatra网络服务器正在运行,其中一个csv文件位于与Scalatra servlet相同的文件夹中。 Web服务器识别刚找到的文件,并执行以下操作:
get("/dependencies") {
val variable = params.get("variable")
new java.io.File("/path/to/files/my_csv_file.csv")
}
按预期工作,并将csv文件作为http get请求返回。
但是,我想使用Breeze-library对csv数据进行一些常规操作。当我尝试将csv文件加载到Breezes csv reader时:
val matrix=csvread(new file("/path/to/files/my_csv_file.csv"), ',')
服务器返回以下错误:
[error] /path/to/files/MyScalatraServlet.scala:23: not found: type file
[error] val matrix=csvread(new file("/path/to/files/"), ',')
[error] ^
[error] one error found
[error] (compile:compileIncremental) Compilation failed
[error] Total time: 1 s, completed 18.5.2017 18:32:23
虽然代码中并不明显,但是包含csv模块的Breezes linalg模块已经导入到文件的开头。
import breeze.linalg._
有没有人知道为什么会发生这种错误?为什么Breeze找不到csv文件?
答案 0 :(得分:0)
这是编译错误。我认为以下代码可行:
val matrix = csvread(new java.io.File("/path/to/files/"), ',')
或
val matrix = csvread("/path/to/files/", ',')