scalaでファイルの内容一括読み込みと表示

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