我正在使用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
答案 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