运维开发网

使用Scala剪切大型CSV文件

运维开发网 https://www.qedev.com 2020-07-27 18:42 出处:网络 作者:运维开发网整理
在 Scala 2.8中执行文件IO的最佳方法是什么? 我想要做的就是将一个巨大的CSV文件剪切成许多较小的文件,每个文件有1000行数据,每个文件保留标题. 对于像这样的简单任务,我会使用scala.io.Source.一个例子看起来像这样: val input = io.Source.fromFile("input.csv").getLines() if (input.hasNext) {
在 Scala 2.8中执行文件IO的最佳方法是什么?

我想要做的就是将一个巨大的CSV文件剪切成许多较小的文件,每个文件有1000行数据,每个文件保留标题.

对于像这样的简单任务,我会使用scala.io.Source.一个例子看起来像这样:

val input = io.Source.fromFile("input.csv").getLines()

if (input.hasNext) {
  // assuming one header line
  val header = List(input.next())

  for ((i, lines) <- Iterator.from(1) zip input.grouped(linesPerFile)) {
    val out = createWriter(i) // Create a file for index i
    (header.iterator ++ lines.iterator).foreach(out.println)
    out.close
  }
}

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号