跳过第一行是标题

时间:2019-05-03 13:23:27

标签: scala akka-stream

我正在使用akka-stream解析文件。在我的文件中,我的标题行排在第一位。如何先在流中跳过此头文件?我不想每次都检查行是否为标题。有办法吗?

FileIO.fromPath(path).
  via(delimiter(ByteString("\n"), Int.MaxValue)). // split into lines
  map(_.decodeString("UTF-8")). // convert ByteStrings to Strings
  filter(!_.startsWith("#")). // remove comments
  fold(0)((i, _) => i + 1). // count remaining lines
  runForeach(println) // run the stream, print result

1 个答案:

答案 0 :(得分:0)

如果您正在读取CSV文件,则可以使用Alpakka: Comma-Separated Values - CSV

示例:

  Source
.single(ByteString(
  """eins,zwei,drei
    |11,12,13
    |21,22,23
    |""".stripMargin))
.via(CsvParsing.lineScanner())
.via(CsvToMap.toMap())
.fold(0)((i, _) => i + 1)
.runForeach(println)

输出:2