В Scala при чтении из файла, как пропустить первую строку? Файл очень большой, поэтому я не могу сохранить его в памяти. Я повторяю строку за строкой следующим образом for (line <- Source.fromFile(file).getLines) { } Как я могу указать, что первая строка должна быть пропущена? Ответ 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")} }
Ответ 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")} }