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