私はScalaの新機能ですが、私が読んだことは、私が取り組んでいるプロジェクトに取り組むのに理想的な言語のようです。述語に一致するリストからサブリストを取得
私はこのようになり、非常に大きなCSVファイルを持っている:私は一度にCSVファイルを読み込むと、同じインデックスを持つすべての要素のリストを生成し、一つの指標にしたい
INDEX, CITY, COST
7 , London, 500
7 , Paris, 200
11 , Rome, 300
11 , New York, 100
11 , Madrid, 7
を。
7, London, 500
7, Paris, 200
と行を含む第二のリスト:私は、行を含むリストを取得したいと思い、上記の例から
11, Rome, 300
11, New York, 100
11, Madrid, 7
それは、CSVファイルを読み込むために非常に簡単です:
val iter = src.getLines().drop(1).map(_.split(",")) //from SO :)
しかし、私はサブリストを生成するためのきれいな方法を見つけるのに苦労しています。 Scalaを使用してこれを達成するうえで、すばらしい、簡潔な方法があるはずです。私は特に、データがたくさんあるので、データが遅延ロードされるのが好きです。私はこれをどのように達成するかを提案できますか?
すべてのデータはインデックスで整理されています(インデックスは順不同です)。私が扱っているCSVファイルには、ネストされたカンマやエスケープが含まれていません。
申し訳ありませんが、私は問題に遭遇していない、それは私が達成したいコードです。私が理解できないことは、行をインデックスでグループ化する方法です。基本的にArray [Array [String]]は、インデックス列内の同じ値を持つすべての行をグループ化します。 – Peter