【发布时间】:2016-12-13 18:23:34
【问题描述】:
我有一个 csv 格式的平面数据结构,我已将其转换为哈希,从而在文件中的一列上设置一个键...所以我们有 key_1、key_2、Key_3,每个键都有相关的值相关行
这是一个平面文件的例子……
key book id ccy mtm 161205 161206 161207 161208 161209
key_1 abc 123 usd 2000000 -5045 600 494 -2646 -231
key_2 abc 124 gbp -150000 5178 20669 -1871 214 22251
key_3 abc 125 eur 1908055 -23279 -730 -513 -19933 -21555
这就是我创建哈希后的样子……
{"key_1"=>
[{:book=>"abc",
:trade_id=>"123",
:ccy=>"usd",
:mtm=>2000000,
:"161205"=>-5045,
:"161206"=>600,
:"161207"=>494,
:"161208"=>-2646,
:"161209"=>-231}],
"key_2"=>
[{:book=>"abc",
:trade_id=>"124",
:ccy=>"gbp",
:mtm=>-150000,
:"161205"=>5178,
:"161206"=>20669,
:"161207"=>-18771,
:"161208"=>214,
:"161209"=>22251}],
"key_3"=>
[{:book=>"abc",
:trade_id=>"125",
:ccy=>"eur",
:mtm=>1908055,
:"161205"=>-23279,
:"161206"=>-730,
:"161207"=>-513,
:"161208"=>19933,
:"161209"=>-21555}]}
我遇到的问题是我似乎无法访问嵌套哈希。我希望能够钻入哈希......所以像这样......
p h.select { |key| key == "key_3" } [ :ccy, :mtm " ]
会给我一个类似...的输出
[{"eur","1908055"}]
我还希望能够跨键进行聚合等操作。
【问题讨论】: