Подтвердить что ты не робот

В Scala при чтении из файла, как пропустить первую строку?

Файл очень большой, поэтому я не могу сохранить его в памяти. Я повторяю строку за строкой следующим образом

for (line <- Source.fromFile(file).getLines) {
}

Как я могу указать, что первая строка должна быть пропущена?

4b9b3361

Ответ 1

Как насчет:

for (line <- Source.fromFile(file).getLines.drop(1)) {
  // ...
}

drop будет просто продвигать итератор (возвращенный getLines) за указанное количество элементов.

Ответ 2

импорт scala.io._

импортировать org.json4s._

import org.json4s.jackson.JsonMethods._

импорт org.json4s.jackson.Serialization.write

var csvf = "/Users/keeratjohar2305/Downloads/cust.csv"

var data = Source.fromFile(csvf)

var jsonf = "/Users/keeratjohar2305/Downloads/cust.json"

val jsonWriter = новый PrintWriter (новый файл (jsonf))

класс case Box (a: Int, b: String, c: Int, d: String, e: String, f: String, g: Int)

Коробка (д (0).toInt, д (1), д (2).toInt, д (3), д (4), д (5), д (6).toInt)}

var data = Source.fromFile(csvf)

for (l <- data.getLines) {

if (l.split(",") (0) == "CustID") {1 == 1} else {

var data1 = csvpar (l);

счетчик переменных = 1;

jsonWriter.write("{\" index\": {\" _ id\": \" "+ counter +"\"}}" + "\n");

jsonWriter.write(write (data1) + "\n")}

}