2017-05-22 15 views
0

私はポジションファイルを読み込むタスクを持っています。ハードコードされたデータ長の位置ファイルをコードで読み取ることができますが、私の仕事は外部ファイルからデータ長を読み取ることです。カンマ区切りのフィールドをファイルから読み込む方法は?

val lengths = Seq(3,10,5,4) // <-- I'd like to read it from an external file 
+0

何あなたはポジションファイルを意味しますか?いくつかの位置を表すデータを含むファイルを意味しますか? – Pavel

+0

入力ファイル-11リンゴTRUE 0.56 12梨FALSE1.34 13ラズベリーTRUE 2.43 14梅TRUE 1.31 15チェリーTRUE 1.4 、入力ファイル内の各フィールドの長さ(例えば長さ)として: 3,10,5,4 –

+0

fstフィールドのデータ長が3、第2、第10、第3、第4が賢明です。 –

答えて

1

言って、あなたは以下の内容(つまり、ポジションに対応)を持つファイルがあります:次のようにファイルを読み込むことができ、Scalaで

$ cat positions.csv 
3,10,5,4 

を:

val lengths = scala.io.Source. 
    fromFile("positions.csv"). 
    getLines. 
    take(1). 
    toArray. 
    head. 
    split(","). 
    map(_.toInt). 
    toSeq 
scala> lengths.foreach(println) 
3 
10 
5 
4 
+0

こんにちはJacek私はすでに同じことをしましたが、結果は期待通りではありませんでした。なぜなら、以前の質問で "https://stackoverflow.com/questions/43992531/how-to-作成したデータフレームから固定長のテキストファイルが指定されたフィールド長さ "長さがハードコーディングされていますfileからそれらの長さを読みたいと思います。配列[文字列]を指定しますが、seq [int]が必要です –

+0

今はどう?それを整数のseqにしました –