![](/img/trans.png)
[英]removing spaces in DataFrame using SCALA. (I have loaded CSV file into RDD then trying to remove spaces from it
[英]How do I remove columns from a CSV file using Scala
如果我有如下所示的CSV:
Id,name,number
1,sam,023
2,ron,287
但是我想像這樣,只將列標題作為參數傳遞,在本例中為“ name”:
Id,number
1,023
2,287
我將如何在Scala中做到這一點?
這需要一些爭執,但是下面的應該可以解決。
scala> scala.io.Source.fromFile("data.csv").getLines.map(_.split(",")).map(s => s(0) + " " + s(2)).mkString("\n")
res4: String =
Id number
1 023
2 287
試試吧。
object ColDrop extends App {
val Eol = "\n"
def dropCol(col: String, csv: String, delim: Char = ',') = {
def drop(line: Array[String], rmIndex: Int) = (line.take(rmIndex) ++ line.drop(rmIndex + 1)).mkString(delim.toString)
val csvArr = csv.split(Eol)
val header = csvArr.head.split(delim).map(_.trim)
val rmIndex = header.indexOf(col)
drop(header, rmIndex) + Eol + csvArr.tail.map { r =>
drop(r.split(delim), rmIndex)
}.mkString(Eol)
}
println(dropCol("name",
"""Id,name,number
|1,sam,023
|2,ron,287
""".stripMargin))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.