progs/yahoo.scala
author Christian Urban <urbanc@in.tum.de>
Wed, 24 Jul 2019 14:22:06 +0100
changeset 266 31e5218f43de
permissions -rw-r--r--
updated to 2.13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
266
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
import io.Source
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
import scala.util._
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
object Foo {
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
  
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
def get_data(symbol: String) : List[String] = 
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
  Source.fromFile(symbol ++ ".csv")("ISO-8859-1").getLines.toList
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
def process(s: String) : String = {
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
  val l = s.split(",").toList
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
  l(0) + "," + l(5)
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
 }
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
def clean(sym: String) = {
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
  val da = get_data(sym)
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
  val out = 
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
    for (l <- da;
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
	 if l.drop(4).startsWith("-01")) yield process(l)
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
  println(process(da.head))
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
  out.foreach { println }
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
}
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
def main(args: Array[String]) = clean(args(0))
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
}