gpt4 book ai didi

java - 如何在scala中创建csv文件时添加新列

转载 作者:行者123 更新时间:2023-12-02 11:23:43 25 4
gpt4 key购买 nike

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

for (x <-storeTimestamp ) {
csv_writer.write(x + "\n")
}
csv_writer.close()

还有其他方法可以将 2 个字符串列表写入 csv 文件吗?目前,在我的代码中,我只将 1 个字符串列表写入 csv 文件。如何从另一个列表添加新列?使用 Bufferedwriter 可以吗?

最佳答案

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

这就是我可能会采取的方法。

// 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"}

注意:zip 只会将两个集合压缩在一起,直到用完其中一个集合为止。如果较大的集合中还留有数据,则该数据将被忽略。如果这不理想,那么您可以尝试 zipAll

开始写入文件。

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())

结果是......

>> cat filename.csv
a,b,c,4X
d,e,f,2W
x,y,z,9A
>>

关于java - 如何在scala中创建csv文件时添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49744508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com