2016-05-10 5 views
-1

マップをテーブルとして保存する方法。マップを取得すると、マップをテーブルとして保存してテーブルに保存するファイル、どうすれば実現できますか?言語はスカラです。スカラマップをテーブルとして保存する方法と、テーブルをファイルに保存する方法

val m = Map("key1" -> 1, "key2" -> 2) 

用テーブルにより(ヘッダ無しこの場合)csv形式を仮定

+0

質問を詳しく教えてください。あなたの "地図"を説明しますか?それはデータマップですか?例えばSVGのビジュアルマップ、または「フロート」? – argon

+4

スタックオーバーフローへようこそ。より良い答えを見るために、あなたの質問をさらに説明し、十分な例を提供することをお勧めします。たとえば、なぜマップをテーブルとして保存するのですか?サンプルデータとその見た目( 'map'と' table'の両方)はどうですか?出力ファイル形式は何ですか?そして最も重要なことは、あなたのアイデアを人々が改善できるように、あなたの考えを人々に分かち合うことです。 – ch33hau

答えて

0

ための理解のために平坦

// Make array of strings from map using string interpolation 
val str = for ((k,v) <- m) yield s"$k\t$v" 

// Create file writer 
val pw = new java.io.PrintWriter(new File("table.csv")) 

// Write each map entry in new line and close 
try pw.write(str.mkString("\n")) finally pw.close() 

更新

使用を試みますMapListに、

val mxs = Map("key1" -> List(1,11), "key2" -> List(2,22)) 

val str = for ((k,xs) <- mxs; x <- xs) yield s"$k\t$x" 
+0

あなたの答えが私の質問を解決するが、マップの値がリストである場合は、テーブルに格納する方法をおかげで。マップマップ(key、ListBuffer(2,3,4))?私は(キー、2)、(キー、3)(キー、4)として保存します。 (key、ListBuffer(2,3,4))以外 –

+0

@CaizhengLiu更新にご注意ください。 – elm

+0

ありがとう、それは動作します。 –

関連する問題