У меня есть плоская структура данных в формате csv, в которой я превратился в хэш, в котором задан ключ на одном из столбцов в файле ... поэтому у нас есть key_1, key_2, Key_3, каждый ключ имеет соответствующие значения для соответствующей строкиДоступ к вложенной карте хеша в Ruby
Это является примером плоского файла ...
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"}]
Я также хотел бы быть способный делать такие вещи, как агрегация по ключам.
Это работает! Благодарю. Можно ли использовать аналогичный метод для доступа ко всем клавишам и вытащить данные? – antimuon
@antimuon конечно, позвольте мне отредактировать ответ –
@antimuon отредактирован, дайте мне знать, если это помогло –