如何使用Scala在CSV文件中添加数据? [英] How to add data in csv file using scala?
本文介绍了如何使用Scala在CSV文件中添加数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是现在开始学习scala的初学者.我正在使用CSV文件测试一些模拟.但是google中没有适当的建议,我想问如下.
I'm a beginner to learn the scala right now. And I'm testing some simulation with using CSV file. But there are no proper advises in google, and I want to ask as like below.
-
如何使用SCALA在现有CSV文件中添加其他数据?(如果CSV文件的位置是"/users/hello.csv")
How to add the additional data in existing CSV file using SCALA? (if the CSV file's locations is "/users/hello.csv")
如何使用SCALA获取CSV文件中的平均值和总和?(我想尝试使用CMD而不是SPARK登录SCALA)
How to get the average and sum in CSV file sheet using SCALA? (I want to try to log in SCALA by using CMD not SPARK)
推荐答案
简单的csv读/写示例:
The simple csv read/write example:
import java.io.{FileReader, FileWriter}
import java.nio.file.{Files, Paths}
import scala.collection.JavaConverters._
val data = Seq(
Seq("col1_data1", "col2_data1", "col3_data1", "col4_data1", 0),
Seq("col1_data2", "col2_data2", "col3_data2", "col4_data2", 10),
Seq("col1_data3", "col2_data3", "col3_data3", "col4_data3", 14),
Seq("col1_data4", "col2_data4", "col3_data4", "col4_data4", 10),
Seq("col1_data5", "col2_data5", "col3_data5", "col4_data5", 7),
Seq("col1_data6", "col2_data6", "col3_data6", "col4_data6", 23)
)
val fileName = "data.csv"
val ColumnSeparator = ","
val writer = new FileWriter(fileName, true)
try {
data.foreach{
line =>
writer.write(s"${line.map(_.toString).mkString(ColumnSeparator)}\n")
}
} finally {
writer.flush()
writer.close()
}
val reader = new FileReader(fileName)
val lastColValues = try {
Files.lines(Paths.get(fileName))
.iterator()
.asScala
.toSeq
.map(_.split(ColumnSeparator).last.toInt)
} finally {
reader.close()
}
val sumLastCol = lastColValues.sum
println(sumLastCol) // sum = 64
println(sumLastCol.toDouble / lastColValues.length) // mean = 10.666666666666666
这篇关于如何使用Scala在CSV文件中添加数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文