Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在scala中创建csv文件时添加新列 val csv_writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest+“whatever”+“.csv”)) 对于(x_Java_Scala_Csv - Fatal编程技术网

Java 如何在scala中创建csv文件时添加新列 val csv_writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest+“whatever”+“.csv”)) 对于(x

Java 如何在scala中创建csv文件时添加新列 val csv_writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest+“whatever”+“.csv”)) 对于(x,java,scala,csv,Java,Scala,Csv,如果我理解您的问题,您有一些CSV数据,您希望在将其写入文件之前在每行末尾添加一列新数据 我可以这样做 val csv_writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest+"whatever"+".csv"))) for (x <-storeTimestamp ) { csv_writer.write(x + "\n") } csv_writer.close() 注意:zip只

如果我理解您的问题,您有一些CSV数据,您希望在将其写入文件之前在每行末尾添加一列新数据

我可以这样做

val csv_writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest+"whatever"+".csv")))

for (x <-storeTimestamp ) {
  csv_writer.write(x + "\n")
}
csv_writer.close()  
注意:
zip
只会将两个集合压缩到一起,直到其中一个集合用完为止。如果较大的集合中还有数据,则会将其忽略。如果不需要这样做,则可以尝试
zipAll

关于文件写入

// some pretend data
val origCSV = Seq("a,b,c", "d,e,f", "x,y,z")
val newCLMN = Seq("4X", "2W", "9A")

// put them together
val allData = origCSV.zip(newCLMN).map{case (a,b) => s"$a,$b\n"}
结果是

import java.io.{File, FileWriter}
import util.Try

val writer = Try(new FileWriter(new File("filename.csv")))
writer.map{w => w.write(allData.mkString); w}
      .recoverWith{case e => e.printStackTrace(); writer}
      .map(_.close())

是的!我的两个集合的大小相同。谢谢您的帮助。但是如果它们的大小不同,会发生什么?解决方案是否仍然有效?或者我需要使用不同的方法来编写csv文件。如果集合的大小不同,并且当其中一个集合为空时,您有填充内容的规则,请使用
zipAll()
代替
zip()
>> cat filename.csv
a,b,c,4X
d,e,f,2W
x,y,z,9A
>>