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;
}