如何使用scala/breeze将稀疏矩阵作为文本写入文件?

如何使用scala/breeze将稀疏矩阵作为文本写入文件?,scala,matrix,save,apache-spark,breeze,Scala,Matrix,Save,Apache Spark,Breeze,我不熟悉scala和breeze。如果答案显而易见,请原谅这个问题。我不知道如何将稀疏矩阵写入文件。下面是我所说的一个例子: import breeze.linalg.CSCMatrix val B = CSCMatrix.zeros[Int](4,4) B(0,2) = 1 现在,我想将B保存为文本 我曾考虑将B的元素映射到字符串,然后写入文件,但这似乎是错误的。此外,我可以将其转换为密集矩阵并将其写入文件,但这似乎也是错误的。有趣的是,即使我将它转换为稠密矩阵,在csvwrite工作之前

我不熟悉scala和breeze。如果答案显而易见,请原谅这个问题。我不知道如何将稀疏矩阵写入文件。下面是我所说的一个例子:

import breeze.linalg.CSCMatrix

val B = CSCMatrix.zeros[Int](4,4)
B(0,2) = 1
现在,我想将B保存为文本

我曾考虑将B的元素映射到字符串,然后写入文件,但这似乎是错误的。此外,我可以将其转换为密集矩阵并将其写入文件,但这似乎也是错误的。有趣的是,即使我将它转换为稠密矩阵,在csvwrite工作之前,它仍然必须是double类型。Arg…请把我从spark/scala地狱救出来

您可以使用哪个接受矩阵[Double]

import java.io.File
import breeze.linalg.{CSCMatrix, csvwrite}


val B = CSCMatrix.zeros[Double](4,4)
B(0, 2) = 1.0
csvwrite(new File("myCSCMatrix.txt"), B, separator=' ')
据介绍,Breeze目前以2种方式支持矩阵IO 1。Java序列化和2。Csv。现在,csvwrite使用Double类型的矩阵,然后写入文件似乎是@Eshan M.Kermani指出的唯一解决办法