scalaでファイルの内容一括読み込みと表示
var text1=Source.fromFile("text1.txt").getLines.toArray Source.fromFile("text2.txt").getLines.foreach{println} Source.fromFile("text3.txt","utf-8").getLines.toArray.map{b=>| b.split("\t")(4).toDouble}
一気に連想配列 or Hash (Map)につめる。
var firmlist1=Source.fromFile("test2.txt","utf-8").getLines.toArray.map{b=> var c=b.split(" ");(c(1),c(2)) }.toMap;
ファイルの内容を連想配列(Hash)Mapにつめる
test.txt
123\t132,123,123,123,123.
import scala.io.Source
import java.io.PrintWriter
object file_cheak{
def main(args: Array[String])={
var v=Map[String,Array[String]]()
var c=Array[String]();
var source1 =Source.fromFile("test.txt","utf-8").getLines.foreach{
a=>;
var b=a.split("\t");
if( b.length >= 2){
c=(b(1)).split(",");
}else{
c=Array[String]();
}
v=v.updated(b(0),c);
//c.foreach{println}
}
v.foreach{case(a1,a2)=>
println(a1+"\t"+a2.mkString(","))
}
}
}
ファイルの内容をMapにつめる(複雑な例)
def read_data1(filelist:Array[String],header:String="tmp/",maxmax:Int=2158):Map[String,A rray[Double]] = {
var v=Map[String,Array[Double]]();
filelist.foreach{a=>
v=v.updated(a,(Source.fromFile(header+a,"utf-8").getLines.toArray.map{b=> b.s plit(" ")(1).toDouble}).slice(0,maxmax));
}
v;
}
def read_data_final(filelist:Array[String],header:String="../unzip/brand/hiduke/2006/data2/"):Map[Str ing,Array[Double]] = {
357 var v=Map[String,Array[Double]]();
358 filelist.foreach{a=>
359 //v.updated(a,Array(3.0,4.0,1.0));
360
361 // println(a);
362 try{
363 v=v.updated(a,Source.fromFile(header+a,"utf-8").getLines.toArray.map{b=> b.sp lit("\t")(4).toDouble});
364
365 var q=Source.fromFile(header+a,"utf-8").getLines.toArray.map{b=> b.split("\t" )(4).toDouble};
}catch{
case e: Exception => //println(a);
}
}println(v.size);
v;
}